出於某種原因,我的OpenGL庫文件沒有正確地連接爲Visual Studio 2013年OpenGL32.lib不正確連接
這裏是我的所有代碼:
#include <gl\glew.h>
#include <GL\GL.h>
#include <GL\GLU.h>
#include <GL\freeglut.h>
#include <iostream>
#include <cstdlib>
#pragma comment(lib, "OpenGL32.lib")
#pragma comment(lib, "glu32.lib")
#pragma comment(lib, "freeglut.lib")
void init(void);
void display(void);
int main(int argc, char* argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGBA);
glutInitWindowSize(512, 512);
glutInitContextVersion(4, 0);
glutInitContextProfile(GLUT_CORE_PROFILE);
glutCreateWindow(argv[0]);
glutDisplayFunc(display);
glutMainLoop();
return EXIT_SUCCESS;
}
void init(void) { }
void display(void)
{
glClear(GL_COLOR_BUFFER_BIT);
return;
}
我編譯freeglut我自己系統,如果我刪除了任何與OpenGL32.lib相關的東西,我不會從程序中得到任何錯誤。 (即如果我刪除glClear()函數,我的程序編譯並運行時沒有問題。)只要我添加任何GL命令,但我開始出現鏈接錯誤。
1>main.obj : error LNK2019: unresolved external symbol [email protected] referenced in function "void __cdecl display(void)" ([email protected]@YAXXZ)
我也試着取出#pragma指令並添加OpenGL32.lib文件到鏈接器的額外的依賴,我一直在努力,沒有任何其他的程序之前調用#pragma指令無濟於事。我使用AMD Radeon 7700 HD系列圖形卡和全新驅動程序運行64x Windows 8.1機箱。任何人對可能發生的事情有任何想法?
好吧我想通了,我不得不將我的構建配置設置爲x64,我想我的.lib,甚至雖然它位於Program Files(x86)目錄下,但仍然是一個64位的庫。 – wmaxlees
如果你有自己的問題的答案,那麼請張貼它作爲答案,並將其標記爲Accepted,而不是評論。 – MicroVirus