PDA

View Full Version : [C++ e OpenGL] unresolved external symbol _WinMain@16


-Ivan-
10-10-2006, 22:12
Ho scritto questo semplice programma tanto per iniziare e mi da 2 errori:
LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16
Debug/Prova opengl.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
Non penso siano legati al programma in se ma pių che altro ad un problema del compilatore, sapete di cosa si tratta?

#include<windows.h>
#include<stdlib.h>
#include<math.h>
#include<gl/glut.h>
#include<gl/glu.h>
#include<gl/gl.h>

void myDisplay()
{
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_POINTS);
glVertex2i(100,50);
glVertex2i(100,50);
glVertex2i(100,50);
glEnd();
glFlush();

}
void myinit()
{
glClearColor(1.0,1.0,1.0,0.0);
glColor3f(0.0,0.0,0.0);
glPointSize(4.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0.0,640.0,0.0,480.0);


}
void main(int argc, char **argv)
{
//inizializza il toolkit e crea una finestra sullo schermo
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
glutInitWindowSize(640,480);
glutInitWindowPosition(100,150);
glutCreateWindow("finestra");


glutDisplayFunc(myDisplay);
//glutReshapeFunc(myReshape);

myinit();
glutMainLoop();

}

cionci
10-10-2006, 23:03
Prova cosė:

#include<windows.h>
#include<stdlib.h>
#include<math.h>
#include<gl/glut.h>
#include<gl/glu.h>
#include<gl/gl.h>

void myDisplay()
{
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_POINTS);
glVertex2i(100,50);
glVertex2i(100,50);
glVertex2i(100,50);
glEnd();
glFlush();

}
void myinit()
{
glClearColor(1.0,1.0,1.0,0.0);
glColor3f(0.0,0.0,0.0);
glPointSize(4.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0.0,640.0,0.0,480.0);


}
int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
//inizializza il toolkit e crea una finestra sullo schermo
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
glutInitWindowSize(640,480);
glutInitWindowPosition(100,150);
glutCreateWindow("finestra");


glutDisplayFunc(myDisplay);
//glutReshapeFunc(myReshape);

myinit();
glutMainLoop();

}


Nei programmi Windows l'entry point č sostituito da WinMain, tranne che per i programmi per console testuale...