error when i try to compile it ...?

hi all
i get this error

Linking...
main.obj : error LNK2001: unresolved external symbol "public: __thiscall aShaderManager::aShaderManager(void)" (??0aShaderManager@@QAE@XZ)
main.obj : error LNK2001: unresolved external symbol "public: __thiscall aShaderManager::~aShaderManager(void)" (??1aShaderManager@@QAE@XZ)
main.obj : error LNK2001: unresolved external symbol "public: class aShaderObject * __thiscall aShaderManager::loadfromMemory(char const *,char const *)" (?loadfromMemory@aShaderManager@@QAEPAVaShaderObject@@PBD0@Z)
main.obj : error LNK2001: unresolved external symbol "public: void __thiscall aShaderObject::end(void)" (?end@aShaderObject@@QAEXXZ)
main.obj : error LNK2001: unresolved external symbol "public: void __thiscall aShaderObject::begin(void)" (?begin@aShaderObject@@QAEXXZ)
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/main.exe : fatal error LNK1120: 6 unresolved externals
Error executing link.exe.

main.exe - 7 error(s), 0 warning(s)

when i try to compile this code

// ****************************************************
// Simple program to test GLSL Shaders
//
// This Program shows how to load a Shader from memory
//
// Implement the functions:
//        AppInit() to initialize                  
//        AppExit() to clean up
// and    DrawFrame() to draw one frame
// ****************************************************
#include <windows.h>
#include "../cwc/aGLSL.h"
#include <GL/glut.h>
#include <GL/gl.h>

aShaderManager  shadermanager;
aShaderObject*  shader;

static const char* myVertexShader =                      
"void main(void)                                     
"
"{                                                   
"
"	vec4 a = vec4(1.0,0.5,1.0,1.0) * gl_Vertex;      
"
"	gl_Position = gl_ModelViewProjectionMatrix * a;  
"
"}                                                   
\0";

static const char* myFragmentShader =                      
"void main (void)                                    
"
"{                                                   
"
"	gl_FragColor = vec4 (0.0, 1.0, 0.0, 1.0);        
"
"}                                                   
\0";

//*************************************************************
// at the time of App init, glut is already initialized
// and standard OpenGL settings are done. You could test
// extensions etc now!

void AppInit(void)
{ 
  shader = shadermanager.loadfromMemory(myVertexShader,myFragmentShader);

  if (shader==0)
  {
      std::cout << "error: can't init shader!
";
      exit(-1);
  }

  //shader = shadermanager.loadfromFile("test.vert","test.frag"); 
}

//*************************************************************
//Draw one Frame (don't Swap Buffers)
void DrawFrame(void)
{
    shader->begin();
    glutSolidTeapot(1.5);
    shader->end();
}


//*************************************************************
// use App Exit to clean up
void AppExit(void)
{

}

//*************************************************************

thank you all for any reply
"i hope this is the right forum for this topic :smiley: "

EDIT :OPS i didn’t notic that :eek:

It seems to be the right forum, but edit your post so that line breaks are present … no really readable right now.
Edit : thanks, it is better now.

seems like the types aShaderManager and aShaderObject are unknown to the compiler. are they defined in “…/cwc/aGLSL.h”? is the path correct?

second problem, your program doesn’t look like a windows prog. windows progs need a winmain function:

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)

and you have to tell your compiler that you want to create a windows (not a dos) application. if you are using borland just use the “-tW” flag

bcc32 -tW test.cpp

aShaderManager and aShaderObject are defined in aGLSL.h mmmmm i do what you say but :frowning: nothing

is there good tutorials for GLSL “Beginners” with samples :slight_smile:

Does your project include (are you compiling) the c or cpp file that contains the implementation of the aShaderManager class?

There error looks like the implementation for those functions is the missing link. Hey thats punny… :slight_smile:

mmmm ok i want know where i can find GLSL files “*.lib *.dll *.h”
please i need it :slight_smile:

UP … :rolleyes: