在我的项目中,我想使用来自非官方opengl sdk的freeglut库。
我使用Premake生成了vs2010的构建文件。然后我构建了所有库(调试版)。在我的项目中,我设置了Additional Include Directories、Additional Library Directories,针对freeglut。在附加依赖项中,我添加了freeglutD.lib。
在代码中,我只包括了一个freeglut头文件。当我想运行程序时,我收到了一个错误提示:
我使用Premake生成了vs2010的构建文件。然后我构建了所有库(调试版)。在我的项目中,我设置了Additional Include Directories、Additional Library Directories,针对freeglut。在附加依赖项中,我添加了freeglutD.lib。
在代码中,我只包括了一个freeglut头文件。当我想运行程序时,我收到了一个错误提示:
>LINK : fatal error LNK1104: cannot open file 'freeglut.lib'.
sdk/freeglut/lib
目录下的 freeglutD.lib
是唯一的文件。在 sdk 中没有 freeglut.dll
和 freeglut.lib
。
之前,我使用的是 这个链接 上提供的 freeglut 2.8.0 MSVC 软件包,并动态链接了它(包含 freeglut.dll),一切都正常运作。
出了什么问题?
FREEGLUT_STATIC
解决了我的链接错误。此外,在MinGW环境中静态链接FreeGLUT还需要使用-lgdi32
和-lwinmm
,详见(http://www.transmissionzero.co.uk/computing/using-glut-with-mingw/)。 - legends2k