2013-07-04 2 views
0

저는 Qt를 처음 접했고 응용 프로그램을 실행할 수있는 독립 실행 형 파일을 빌드하는 데 어려움을 겪고 있습니다. OpenGL 위젯이 있고 glut32 라이브러리를 사용했습니다.Qt Creator. 릴리스 버전을 컴파일 할 때 glut에 대한 오류가 발생하지만 디버그 버전이 아닌 이유는 무엇입니까?

"Undifined 참조 : 릴리스 모드에서 온을 buiding 때

How to create executable file for a Qt Application?

그것은 오류를 제공합니다 문제는 여기에 주어진 단계를 디버그 모드에서 잘 그것을 온을 buiding하지만 다음 봤는데이다 ~ ___glutInitWithExit "

매우 동일한 코드입니다. 나는 왜 그것이 방출 중에 문제가 있는지 이해하지 못한다.

미리 독립형 실행 파일을 만드는 데 도움이되는 정보에 감사드립니다.

+0

그것은 당신이 GLUT 라이브러리를 링크해야한다는 것을 의미 :

이러한 전제 조건이 충족되면 당신은 여전히 ​​당신의 라이브러리를 귀하의 응용 프로그램 프로 파일

CONFIG += static 

에 설정하고 포함해야합니다. Qt Creator를 모르지만 예를 들어 Visual Studio에는 Debug 및 Release 버전에 대한 별도의 링커 구성이 있습니다. –

답변

0

정적 단일 실행 파일의 경우 먼저 QT의 상용 라이센스가 필요합니다. 이것은 $ QTDIR \ mkspecs \ $ COMPILERVERSION \ qmake.conf에있는 mkspec을 정적 링크를 사용하도록 변경할 수 있다고합니다. 예를 들어는 Win32-msvc2008 (2008 비주얼 스튜디오 컴파일러)를 들어

QMAKE_CFLAGS_RELEASE = -O2 -MD 

에서

QMAKE_CFLAGS_RELEASE = -O2 -MT 

(MD => MT, MDD => MTD)를 CFLAGS와 CXXFLAGS을 설정합니다. Furthormore 당신은 QT와 GLUT의 정적 libs 것입니다. 일반적으로 .lib (.dll 아님)로 끝납니다. 정적 호환 라이브러리를 얻으려면 Source에서 QT를 컴파일해야 할 것입니다. QT를 컴파일 할 때 OpenGL 지원으로 컴파일해야합니다. gcc의 경우 http://qt-project.org/wiki/Build_Static_Qt_For_Windows_With_Gcc_German에 좋은 설명서가 있으며 MSVC에 대한 예제도 있습니다.

LIBS += -Lpath/to/glutlib -lglut 
관련 문제