我剛剛安裝了OpenGL庫(實際上大部分源代碼已經在我的電腦上完成了),我嘗試編譯第一個程序。在64x模式下編譯OpenGL的錯誤
對於x86不過是完美運行,針對x64,我的配置和
Ç重定向glut32.lib:\程序文件(x86)\微軟的SDK \的Windows \ v7.0A \ Lib文件
到
C:\ Program Files文件(x86)的\微軟的SDK \的Windows \ v7.0A \ LIB \ x64的
錯誤發生如下,我不知道要解決這個問題。該錯誤好像我沒有正確鏈接庫?
error LNK2019: unresolved external symbol __imp_glutSwapBuffers referenced in function "void __cdecl drawcube(void)" ([email protected]@YAXXZ)
error LNK2019: unresolved external symbol __imp_glutMainLoop referenced in function main
error LNK2019: unresolved external symbol __imp_glutIdleFunc referenced in function main
error LNK2019: unresolved external symbol __imp_glutDisplayFunc referenced in function main
我的測試代碼是這樣的
<!-- language: cpp -->
void drawcube(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0, 1.0, 1.0);
glMatrixMode(GL_MODELVIEW);
glRotatef(angle, 0.0, 1.0, 0.0);
glBegin(GL_LINE_LOOP);
glVertex3iv(a);
glVertex3iv(b);
glVertex3iv(c);
glVertex3iv(d);
glEnd();
glFlush();
glutSwapBuffers();
}
<!-- language: cpp -->
int main(int argc, char **argv)
{
glutInit(&argc, argv);
glutInitWindowSize(800, 600);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE);
glutCreateWindow("Test OpenGL");
glutDisplayFunc(drawcube);
glutIdleFunc(drawcube);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-30.0, 30.0, -30.0, 30.0, -30.0, 30.0);
glRotatef(30.0, 1.0, 0.0, 0.0);
glMatrixMode(GL_MODELVIEW);
glClearColor(0.0, 0.0, 0.0, 0.0);
glutMainLoop();
return(0);
}
回答@datenwolf是有益的。
我只是改變使用freegult沒有錯誤在x64編譯。
謝謝你的回答,可能是我對OpenGL和GLUT的誤解。讓我試試你的建議,我會接受你的答案。 :) 謝謝。 – mojiiz
你的答案對我有幫助。但是,也許我需要獲得更多關於它們的知識。感謝您的回答。 – mojiiz