freeglut错误LNK1104(freeglut error LNK1104)

2019-06-27 00:49发布

在我的项目,我想从非官方的OpenGL SDK使用freeglut库。

我用Premake生成构建文件的VS2010。 然后,我建立的所有库(调试)。 在项目中,我设置附加包含目录,为freeglut附加库目录。 在附加依赖我加freeglutD.lib。

在代码中,我只是包括freeglut头。 当我要运行的程序中,我得到一个错误:

>LINK : fatal error LNK1104: cannot open file 'freeglut.lib'. 

该freeglutD.lib是唯一的文件sdk/freeglut/lib 。 没有freeglut.dllfreeglut.lib的SDK。

早些时候,我使用freeglut 2.8.0 MSVC套餐链接该动态链接(含freeglut.dll),一切工作正常。

怎么了 ?

Answer 1:

我的猜测是,你忘了从文档这些线路上使用SDK:

您还需要一些#define语句添加到您的命令行。 这些是:

  • FREEGLUT_STATIC
  • _LIB
  • FREEGLUT_LIB_PRAGMAS = 0

你需要一个FREEGLUT_STATIC让GLUT知道,它的静态链接。 否则,它会查找DLL。



Answer 2:

我从VS12的旧项目,并试图在升级后VS15建造它的时候得到了同样的错误LNK1104。 我不得不这样做,以解决该问题,运行程序包管理器控制台(工具 - NuGet包管理器),然后键入:

Install-Package freeglut

请注意,我在我的头文件,像这样的一个参考glew.h和freeglut.h:

#include "..\packages\nupengl.core.0.1.0.1\build\native\include\GL\glew.h" 
#include "..\packages\nupengl.core.0.1.0.1\build\native\include\GL\freeglut.h" 


文章来源: freeglut error LNK1104