2013-12-10 3 views
0

qmake를 사용하여 QT 프로젝트를 빌드하려고합니다. 이를 위해 나는 boost 라이브러리가 필요하다.qmake는 .pro 파일에서 makefile에 라이브러리를 추가하지 않습니다.

LIBS += -L/usr/lib/ \ 
-lboost_system \ 
-lboost_filesystem 

그러나 qmake를 실행 한 후,이 라이브러리는 메이크 파일에 추가되지 않습니다 : 당신이 먹고 싶어하면

/usr/include/boost/system/error_code.hpp:214: error: undefined reference to boost::system::generic_category() 

처럼

예상대로
LIBS = $(SUBLIBS) -L/usr/X11R6/lib64 -lQt5MultimediaWidgets 
-L/build/buildd/qtmultimedia-opensource-src-5.0.1/lib -L/usr/lib/x86_64-linux-gnu 
-L/usr/lib/x86_64-linux-gnu/x86_64-linux-gnu -lQt5OpenGL -lQt5Multimedia -lpulse 
-lQt5Widgets -lQt5Network -lQt5Gui -lQt5Core -lGL -lpthread 

, 링커 인쇄 많은 오류 전체 .pro 파일을보고, https://raw.github.com/francisengelmann/FabScan100/master/qtTest/qtTest.pro

나는 또한 가지고있다. opencv와 비슷한 문제. 누구든지이 문제를 해결하는 방법을 알고 있습니까?

+0

차이점이 있다고 생각하지 않지만 .pro 파일에서 반복되는 일부 줄이 있습니다. –

+0

나는 또한 이것을 알고 있었지만, 당신이 말했듯이,이 여러 줄을 삭제한다고해도 차이는 없습니다. – David

+0

빌드 폴더를 완전히 삭제하고 프로젝트를 다시 빌드 해 보았습니까? –

답변

0

.pro 파일을 변경 한 후에 qmake을 다시 실행해야합니다. 빌드 디렉토리 만 제거하면 충분하지 않습니다.

또한 qmake 대상이 linux-g ++입니까? INCLUDEPATH가 작동합니까?

+0

그 후 qmake를 실행했습니다. 다른 대답에 대한 내 의견을 찾으면 집에서 환경을 구축 할 때 테스트 할 것입니다. – David

+0

qmake가 사용중인 사양을 확인하십시오. 64 비트 시스템을 사용하는 경우에는 별표가있는 linux-g ++ * 사양이 필요할 것입니다. 또는 linux- * spec을 사용하십시오. 헤더와 libs는 gcc에만 한정되지 않습니다. –

+0

대단히 고맙습니다. 이것이 문제였습니다. 제 qmake 대상은 linux-g ++ 64였습니다. linux-g ++을 사용하면 훌륭하게 작동합니다. 고맙습니다. – David

관련 문제