【发布时间】:2013-12-10 14:19:47
【问题描述】:
我尝试使用 qmake 构建一个 QT 项目。为此,我需要 boost 库。
LIBS += -L/usr/lib/ \
-lboost_system \
-lboost_filesystem
但是运行qmake后,这些库并没有添加到makefile中:
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 也有类似的问题。有谁知道如何解决这个问题?
【问题讨论】:
-
我认为这不会有什么不同,但您在 .pro 文件中重复了一些行。
-
我确实也意识到了这一点,但正如你所说,删除这些多行并没有什么不同。
-
您是否尝试过完全删除构建文件夹并重新构建项目?
-
是的,我删除了文件夹并在qt creator中运行了“build project”,但错误是一样的。
-
您使用的是哪个版本的 qmake?我在 Mac OS X 上通过 qmake (3.0) (Qt 5.1.1) 运行了您的项目文件,但我无法在这里重现该问题 —
Makefile的LIBS包括 OpenCV 和 Boost 以及点云库,正如预期的那样。