对boost :: filesystem的未定义引用

时间:2014-10-27 15:03:43

标签: c++ ubuntu boost linker

因为我是新手来提升。我犯了一个错误。我使用命令 sudo apt-get install libboost-all-dev 来克服一些错误,但在那之后,我似乎做了一些非常糟糕的事情。现在有很多错误如下:

error: undefined reference to `boost::filesystem::detail::remove_all(boost::filesystem::path const&, boost::system::error_code*)'

error: undefined reference to `boost::filesystem::path::filename() const'

error: undefined reference to `boost::filesystem::detail::create_directory(boost::filesystem::path const&, boost::system::error_code*)'

很多人都喜欢这些错误,并指出未定义的引用。在阅读并尝试了与相同问题相关的一些解决方案后,我仍然没有成功。但是当我运行 dpkg -s libboost-dev |时,我遇到了一种线索grep'版本' 它提供版本:1.48.0.2 但是当我运行时

cat /usr/include/boost/version.hpp | grep" BOOST_LIB_VERSION" 它给了我

BOOST_LIB_VERSION必须定义为与BOOST_VERSION

相同

定义BOOST_LIB_VERSION" 1_46_1

我也尝试过链接-lboost :: system和-lboost :: filesystem,但错误仍然存​​在。可能是两个不同版本的问题吗? 有人可以告诉我在这种情况下我应该怎么做才能继续进行任何更多的错误吗? 如果我删除版本:1.48.0.2 然后再试一次...有人之前做过类似的事吗?或任何建议/意见?

非常感谢您的帮助。

谢谢:)

p.s我正在使用带有clang ++的QT创建者

修改

使用./b2和bootstrap.sh安装库后,这就是我所得到的:

Boost C ++库已成功构建!

应将以下目录添加到编译器包含路径:

/home/black/workspace/cap/lib/boost_1_53_0

应将以下目录添加到链接库库路径:

/home/black/workspace/cap/lib/boost_1_53_0/stage/lib

我已将这些路径添加到很多地方,例如LD_LIBRARY_PATH, PATH的lib路径等,并包含C_INCLUDE_PATH的路径。另外,我将这些路径添加到我的.pro文件中的INCLUDEPATHLIBS以及..但没有任何工作:( 这是正确的还是我做错了什么? 你能告诉我这些路径应该添加到哪里吗?

0 个答案:

没有答案