如何在Linux中正确链接boost库

13

我一直在试图学习Boost库的相关教程,但是我卡在了链接文件系统库这一步。

我使用的是Ubuntu 12.10。安装并不太困难。

sudo apt-get install libboost-all-dev

这将所有的头文件放在 /usr/local/include 中,编译源文件则放在 /usr/lib 中。
[--headers]
[--binaries]

我写了这个程序[--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


尝试在链接命令中反转库的顺序。 - n. m.
避免使用外部链接...它们可能会失效! - Patrizio Bertoni
2个回答

10

3
我怀疑 apt-get install libboost-dev-all 把东西放在了 /usr/local 目录下。 - rubenvb
我不知道你从哪里获取的软件包,但 Ubuntu 12.10 的 libboost-dev 软件包 只会拉取 libboost1.49-dev 软件包,而该软件包会将所有文件放在 /usr 目录下(包括 filesystemsystem)。 - rubenvb
3
这句话的意思是使用apt-get命令安装libboost-all-dev库。 - Asela
如何链接Boost库中的所有内容? - David Callanan

4
-L 命令应该是包含库的基本路径,而不是特定库的路径。请尝试使用 -L /usr/lib/

find /usr/lib -name "*boost*" - Burak

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接