出于某种原因,我的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