이것은 정말 간단해야합니다. Qt (newmat library)에 라이브러리를 컴파일하고 libnewmat.a 파일을 만들었습니다. 이제이 라이브러리를 다른 프로젝트에 통합해야하지만 작동시키지 못합니다.Qt에 라이브러리가 포함 된 이유는 무엇입니까?
내가 포함 내 .PRO 파일에 LIBS 변수를 몇 가지 다른 일을 시도했다 :
Win32:LIBS += libnewmat.a #library is in same directory as the project
Win32:LIBS += "C:/...path.../libnewmat.a"
Win32:LIBS += L"C:/...path..." -lnewmat
심지어 앞으로 사용하여 시도하고 다시 경로에 슬래시하지만이 차이를하지했습니다.
!exists(libnewmat.a) {
error("libnewmat.a does not exist")
}
그래서 나는 그 문제가 아니라는 것을 알고 : 나는 또한이 검사는 라이브러리가 실제로 발견되어 있는지 확인하기 위해 포함되어 있습니다. 필자가 이해하지 못하는 것은 컴파일러 출력 (qmake가 명령 행에서 사용하는 명령을 표시 함)을 Ctrl + F로 누르면 라이브러리에 대한 참조를 찾을 수 없다는 것입니다. 어떤 이유로 나는 LIBS 변수가 명령 줄에 어떤 변화도주지 않고있다.
g++ -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_OPENGL_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"..\..\..\..\Qt\2009.02\qt\include\QtCore" -I"..\..\..\..\Qt\2009.02\qt\include\QtGui" -I"..\..\..\..\Qt\2009.02\qt\include\QtOpenGL" -I"..\..\..\..\Qt\2009.02\qt\include" -I"..\Visual Studio Projects\NewMatProj\newmat10" -I"..\..\..\..\Qt\2009.02\qt\include\ActiveQt" -I"debug" -I"." -I"..\..\..\..\Qt\2009.02\qt\mkspecs\win32-g++" -o debug\moc_Window.o debug\moc_Window.cpp
g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -mthreads -Wl -Wl,-subsystem,windows -o debug\GLPractice.exe debug/main.o debug/GLWidget.o debug/Window.o debug/CGSWidget.o debug/moc_GLWidget.o debug/moc_Window.o -L"c:\Qt\2009.02\qt\lib" -lopengl32 -lglu32 -lgdi32 -luser32 -lmingw32 -lqtmaind -lQtOpenGLd4 -lQtGuid4 -lQtCored4
나는 내가 여기에 누락 정말 간단한 일이 생각 : 사람이 한 번 확인하고 싶은 경우에 여기에 내가 라이브러리를 참조 할 기대 컴파일러 출력의 샘플입니다.
Windows Vista에서 QtCreator를 사용하고 있습니다. 내가 바로 그 문제를했습니다
win32:LIBS += libnewmat.a # lowercase w