2013-12-10 51 views
0

我尝试使用qmake构建QT项目。为此,我需要增强库。qmake不会将.pro文件库添加到生成文件

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

但运行的qmake后,这些库不添加到生成文件:如果你想利用

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 

正如预期的那样,链接打印许多错误,如

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

看整个.pro文件,去https://raw.github.com/francisengelmann/FabScan100/master/qtTest/qtTest.pro

我也有一个与opencv类似的问题。有谁知道如何解决这个问题?

+0

我不认为这会有所作为,但是您在.pro文件中重复了一些行。 –

+0

我也承认这一点,但正如你所说,删除这些多行并没有什么区别。 – David

+0

您是否尝试过完全删除您的构建文件夹并重新构建项目? –

回答

0

您需要在更改.pro文件后再次运行qmake。只删除你的build目录是不够的。

你也确定你的qmake目标是linux-g ++吗? INCLUDEPATH工作吗?

+0

之后我确实运行过qmake。看看我对另一个答案的评论,当我在家里有一个建筑环境时,我会测试这些东西。 – David

+0

检查您的qmake正在使用的规格。如果你使用的是64位系统,那么很有可能你需要一个linux-g ++ *规范(带星号)。或者只是使用linux- * spec,因为你的头文件和库不是gcc特有的。 –

+0

非常感谢你,这是问题所在。我的qmake目标是linux-g ++ 64。使用linux-g ++它很好。谢谢。 – David