我一直试图通过Boost教程,但我一直困在链接文件系统库 .
我有Ubuntu 12.10 . 安装并不那么难
sudo apt-get install libboost-all-dev
这将所有头文件放在/ usr / local / include和/ us / lib /中的编译源中
[--headers]
[--binaries]
我写了这个程序[--program] . 当我试图编译它
g++ -g tut1.cpp -o tut1 -lboost_system -lboost_filesystem
得到了这个错误:[ - error] .
经过一番搜索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
2 回答
我在这里找到了答案:
http://www.richelbilderbeek.nl/CppLinkErrorUndefinedReferenceToBoostFilesystemDetailGet_current_path_api.htm
看起来二进制文件不在/ usr / lib中,而在/ usr / local / lib中 .
所以编译的正确命令是:
@Yuushi,那是1个问题 .
-L
命令应该是包含库的基本路径,而不是特定库的路径 . 请尝试使用-L /usr/lib/
.