在ubuntu上设置boost库的问题
我在ubuntu 9.10的'/ media/data/bin'中编译并安装了我的boost库。 我已经设置了INCLUDE_PATH,LIBRARY_PATH ENV:在ubuntu上设置boost库的问题
$ echo $INCLUDE_PATH
/media/data/bin/boost/include:
$ echo $LIBRARY_PATH
/media/data/bin/boost/lib:
但是,当我编译ASIO例子中,我得到以下错误: $ G ++ blocking_tcp_echo_server.cpp
blocking_tcp_echo_server.cpp:13:26: error: boost/bind.hpp: No such file or directory
blocking_tcp_echo_server.cpp:14:31: error: boost/smart_ptr.hpp: No such file or directory
blocking_tcp_echo_server.cpp:15:26: error: boost/asio.hpp: No such file or directory
blocking_tcp_echo_server.cpp:16:28: error: boost/thread.hpp: No such file or directory
blocking_tcp_echo_server.cpp:18: error: ‘boost’ has not been declared
blocking_tcp_echo_server.cpp:22: error: ‘boost’ has not been declared
blocking_tcp_echo_server.cpp:22: error: expected initializer before ‘<’ token
blocking_tcp_echo_server.cpp:24: error: variable or field ‘session’ declared void
blocking_tcp_echo_server.cpp:24: error: ‘socket_ptr’ was not declared in this scope
有什么不对
sudo apt-get install libboost-dev
之后,你不需要设置任何-I
和-L
标志。如果你需要Boost 1.40,你仍然可以重建当前的Debian unstable软件包。
尝试C_INCLUDE_PATH或使用 - 我的编译器选项
BTW,使用LD_LIBRARY_PATH帮助查找图书馆
我已经设置了C_INCLUDE_PATH和CPLUS_PATH,但我仍然得到链接错误: :错误:取消定义d引用'typeinfo for boost :: detail :: thread_data_base' 我已经设置了$ echo $ LD_LIBRARY_PATH /media/data/bin/boost/lib: – n179911 2009-12-31 01:01:10
您必须指定库链接到“-lXXX”标志,确保你没有空间。当然,你将不得不将XXX替换为库的名称,减去“lib”前缀并且没有后缀。我不知道确切的库名称,您可能需要阅读文档。 LD变量指定库的搜索路径,但不指定要链接到的库。 – Anycorn 2009-12-31 01:12:24
你知道什么,只是尝试添加-lboost到你的编译/链接命令 – Anycorn 2009-12-31 01:13:46
检查头实际上有:
/media/data/bin/boost/include/boost/bind.hpp
同时尝试使用-I /媒体/数据/斌/升压/包括而不是env变量(注意-I后没有空格)。
为了节省大家的时间,这里是我给这个问题在其他地方的答案: http://permalink.gmane.org/gmane.comp.lib.boost.user/54626
更新2016年2月11日:有必要直接指定选项:
g++ -I<prefix>/include -L <prefix>/lib
或使用正确的变量:
export CPLUS_INCLUDE_PATH=<prefix>/include
export LIBRARY_PATH=<prefix>/lib
请在这里添加所需的部分答案,而不是放入链接 – 2016-02-11 05:55:52
这是2009年的问题,与Ubuntu 9.10相关。许多事情已经发生了变化,尤其是Boost构建过程打印,最后还介绍了如何使用已安装的Boost。我可以建议,如果你现在有问题,你会发布一个单独的详细问题?问题和解决方案可能与此问题中的问题完全不同。 – 2016-02-11 08:25:09
我没有使用这个,因为它会提升我的主驱动器,我用尽了空间。所以我编译/安装我的外部硬盘驱动器(它比我的主驱动器有更多的空间)。 – n179911 2009-12-31 01:04:52