freeglut error LNK1104

寵の児 提交于 2019-11-27 06:59:47

问题


In my project I want to use a freeglut library from the unofficial opengl sdk.

I used Premake to generate build files for vs2010. Then I built all libraries (debug). In my project I set Additional Include Directories, Additional Library Directories for the freeglut. In additional dependencies I added freeglutD.lib.

In the code I just include a freeglut header. When I want to run the program I get an error:

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

The freeglutD.lib is the only file in sdk/freeglut/lib. There is no freeglut.dll and freeglut.lib in sdk.

Earlier I was using freeglut 2.8.0 MSVC Package from link which is linked dynamically (contain freeglut.dll) and everything works fine.

What is wrong ?


回答1:


My guess is that you forgot these lines from the documentation on using the SDK:

You will also need to add some #defines to your command line. These are:

  • FREEGLUT_STATIC
  • _LIB
  • FREEGLUT_LIB_PRAGMAS=0

You need that FREEGLUT_STATIC to let GLUT know that it's linking statically. Otherwise it looks for a DLL.




回答2:


I had an older project from VS12 and got the same LNK1104 error when trying to build it after upgrade in VS15. All I had to do to fix this was run Package Manager Console (Tools - NuGet Package Manager) and type in:

Install-Package freeglut

Note, that I have reference to glew.h and freeglut.h in one of my header files like this:

#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" 


来源:https://stackoverflow.com/questions/11954344/freeglut-error-lnk1104

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!