作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我一直在尝试完成 Boost 教程,但我在链接文件系统库时遇到了困难。
我有 Ubuntu 12.10。安装并不难
sudo apt-get install libboost-all-dev
这将所有头文件放在/usr/local/include 中,编译后的源代码放在/usr/lib/
[--标题]
[--二进制文件]
我写了这个程序 [--program]。当我尝试编译它时
g++ -g tut1.cpp -o tut1 -lboost_system -lboost_filesystem
得到这个错误:[--errors]。
在http://www.boost.org/doc/libs/1_53_0/more/getting_started/unix-variants.html上稍作搜索后
我试过这个:
g++ -g -I /usr/local/include/boost/ tut1.cpp -o tut1 -L /usr/lib/libboost_filesystem.a -lboost_system -lboost_filesystem
但运气不好。我有同样的错误。
由于我不能在帖子中放置超过 2 个链接,这里是所有链接
http://pastebin.com/DakVFn12
最佳答案
我自己在这里找到了答案:
http://www.richelbilderbeek.nl/CppLinkErrorUndefinedReferenceToBoostFilesystemDetailGet_current_path_api.htm
看起来二进制文件不在/usr/lib 中,而是在/usr/local/lib 中。
所以正确的编译命令是:
g++ -g tut1.cpp -o tut1 -L/usr/local/lib/ -lboost_filesystem
@Yuushi,这是 1 个问题。
关于c++ - 如何在 Linux 中正确链接 boost 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17206298/
我是一名优秀的程序员,十分优秀!