2012-08-14 2 views
4

내 프로젝트에서 비공식 opengl SDK의 자유 라이브러리를 사용하고 싶습니다.freeglut error LNK1104

저는 Premake를 사용하여 vs2010 용 빌드 파일을 생성했습니다. 그런 다음 모든 라이브러리를 빌드했습니다 (디버그). 내 프로젝트에서 나는 Freeglut을 위해 Additional Include Directories, Additional Library Directories를 설정했다. 추가 의존성에서 freeglutD.lib를 추가했습니다.

코드에는 프리 글로우 헤더가 포함되어 있습니다. 내가 프로그램을 실행할 때 오류가 발생합니다 :

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

freeglutD.lib는 sdk/freeglut/lib에있는 유일한 파일입니다. sdk에는 freeglut.dllfreeglut.lib이 없습니다.

이전에 저는 freeglut 2.8.0 MSVC 패키지를 link에서 동적으로 링크되었으며 (freeglut.dll 포함) 모두 잘 작동합니다.

무엇이 잘못 되었나요?

답변

4

내 생각 엔 당신이 SDK를 사용하여 문서에서이 줄을 잊고 있다는 것입니다 :

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

  • FREEGLUT_STATIC
  • _LIB
  • FREEGLUT_LIB_PRAGMAS=0

당신은 FREEGLUT_STATIC은 GLUT하자가 정적으로 연결하는 것 알고 있다고합니다. 그렇지 않으면 DLL을 찾습니다.

+0

감사합니다. Jason, 'FREEGLUT_STATIC'은 (는) 내 링커 오류를 해결했습니다. 또한 MinGW 설정에서 FreeGLUT을 정적으로 링크하는 데 필요한 것 같은'-lgdi32'와'-lwinmm'을 제공해야했습니다 (http://www.transmissionzero.co.uk/computing/using-glut-with-mingw /). – legends2k

0

VS12에서 업그레이드 한 후에 빌드 할 때 VS12의 이전 프로젝트에서 동일한 LNK1104 오류가 발생했습니다. 내 헤더 중 하나에 glew.h하는 참조 및 freeglut.h을 가지고,

Install-Package freeglut 

참고 : 및 입력 -이 실행 된 패키지 관리자 콘솔 (NuGet 패키지 관리자 도구)를 해결하기 위해해야 ​​할 일을했을 모든 다음과 같은 파일 :

#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" 
관련 문제