![](/img/trans.png)
[英]Error LNK2019 unresolved external symbol _main referenced in function "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ)
[英]Error LNK2019 unresolved external symbol _WinMain@16 referenced in function “int __cdecl invoke_main(void)” (?invoke_main@@YAHXZ)
這是我的腳本我不知道解決這個錯誤請幫助我非常感謝
float angle = 15;
float x, y, z; // for polygon rotate
void display()
{
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); // clear screen and depth buffer
glLoadIdentity();
glPushMatrix();
glColor3f(1.0, 0.0, 0.0);
glBegin(GL_POLYGON);
glVertex2f(160.0, 360.0);
glVertex2f(300.0, 360.0);
glVertex2f(160.0, 480.0);
glVertex2f(300.0, 480.0);
glPushMatrix();
glColor3f(0.0, 0.0, 0.0);
glVertex2f(580.0, 200.0);
glVertex2f(640.0, 200.0);
glVertex2f(580.0, 480.0);
glVertex2f(640.0, 480.0);
glRotatef(angle, -1.0f, 0.0, 0.0);
angle += 15.0f;
glEnd();
glutSwapBuffers(); // dounle buffering
}
LRESULT CALLBACK MainWindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch (uMsg)
{
case WM_LBUTTONDOWN:
{
}break;
case WM_DESTROY: {
PostQuitMessage(0);
}break;
default:break;
}
return 0;
}
int main(int argc, char** argv)
{
glutInit(&argc, argv); // Initialize GLUT
glutInitDisplayMode(GLUT_DOUBLE);// Set up some memory buffers for our display
glutInitWindowSize(640, 400);
glutInitWindowPosition(100, 20);
glutCreateWindow("My GLUT GAME");
glutDisplayFunc(display);
//glutKeyboardFunc();
glutMainLoop();
return 0;
}
您已將項目設置為構建為 Windows 應用程序,而不是命令行應用程序。 將int main()
更改為:
int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR pCmdLine, int nCmdShow)
https://msdn.microsoft.com/en-us/library/windows/desktop/ms633559%28v=vs.85%29.aspx
或者,將您的項目屬性更改為命令行應用程序。
作為解決方法,您可以添加調用main
WinMain
函數:
#ifdef _WIN32
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow)
{
return main(__argc, __argv);
}
#endif
對我來說,這有幫助。
轉到properties->Linker -> System -> Sub-system
並選擇“未設置”或“Windows”
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.