OpenGL32.Lib无法正确链接
OpenGL32.lib not linking properly
由于某种原因,我的OpenGL库文件未正确链接到Visual Studio2013。
这是我的所有代码:
#include <glglew.h>
#include <GLGL.h>
#include <GLGLU.h>
#include <GLfreeglut.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 __imp__glClear@4 referenced in function "void __cdecl display(void)" (?display@@YAXXZ)
我还尝试取出#pragma指令,并将OpenGL32.lib文件添加到链接器的其他依赖项中,并且我尝试在程序中的其他任何内容之前都拨打#Pragma指令,以无效。我正在运行一个带有AMD Radeon 7700 HD系列图形卡的64倍Windows 8.1盒子,并为该卡提供了全新的驱动程序。有人对可能发生的事情有任何想法吗?
问题是链接器找不到OpenGL32.lib文件。尝试根据VC2013找到它。确保将其路径包括在其他库路径中。如果不存在 - 添加。如果您找不到库 - 安装Windows SDK。OpenGl32.lib的64位版本(忽略库中的32个,并不意味着任何内容)应在%programFiles% Microsoft SDKS Windows \ lib \ lib x64 Directory下。将此路径添加到您项目的LIB路径中。
正如D'Artanian已经提到的,您必须与opengl32.lib
(不是DLL)链接。
我遇到了完全相同的问题,有助于明确设置我需要链接的库(project options-> linker->输入)。为链接器设置一个附加目录是不够的,您必须将路径设置为库构建以进行适当的体系结构。(在我的系统上,有点不直觉:32B版本是%ProgramFiles%Microsoft SDKsWindowsv7.1ALibOpenGL32.Lib
和64B版本是%ProgramFiles%Microsoft SDKsWindowsv7.1ALibx64OpenGL32.Lib
。
- 为什么我的链接器在找到Coin4d.lib后搜索Coin4sd.lib?
- VS2015 未链接用户32.lib
- 无法在 DLL 中链接 SDL2-static.lib
- 链接:致命错误LNK1104:无法打开文件"python37_d.lib"
- 链接器找不到导入的 DLL 的 LIB 文件
- C++:重命名dll和lib并链接
- 在Qt中链接具有非标准名称的lib文件
- 链接器错误:在包含 .so lib 后未定义对 xxx 的引用
- 链接 library.lib 使用 setup.py.
- G++ 无法链接 curl lib 文件
- 我真的必须链接Ws2_32.lib吗?
- 链接 .lib 并在 Windows 中使用 .dll 在 C++ 在 Eclipse 中
- 传递"-l"<libname>还是将"<libname>lib.a"直接传递给链接器?
- 链接 .lib 文件:致命错误LNK1107
- 链接 .lib 文件时出现 VC12 命令行错误
- 是否每次在Visual Studio 2015中编译项目时都必须链接.lib文件?
- 链接.lib文件在cygwin上编译
- 链接器如何解决链接*.lib时的歧义
- 在Windows7上链接.lib文件
- 链接 .lib 文件时出现问题