
运行完后可以得到很多变量,下面列了一些主要的
可以在搜索package之前,通过设置一些变量来帮助boost库的查找
假如目标程序foo需要链接Boost库regex和system,编写如下的CMakeLists文件,
FindBoost
首先把Boost库的头文件存放到/usr/include/boost/路径下,再把Lib文件存放到/usr/local/lib/boost/路径下。修改/etc/profile文件,在此文件中增加如下2个环境变量:BOOST_INCLUDE=/usr/include/boost
export BOOST_INCLUDE
BOOST_LIB=/usr/local/lib/boost
export BOOST_LIB
写一个如下所示的cpp文件。
//samlpe.cpp
#include <iostream>
#include <string>
#include <boost/thread.hpp>
using namespace std
void threadRoutine(void)
{
boost::xtime time
time.nsec = 0
time.sec = 20
cout <<"线程函数做一些事情" <<endl
boost::thread::sleep(time)
}
int main(void)
{
string str
cout <<"输入任意字符开始创建一个线程..." <<endl
cin >>str
boost::thread t(&threadRoutine)
t.join()
cout <<"输入任意字符结束运行..." <<endl
cin >>str
return 0
}
保存。使用g++编译,命令如下所示:
g++ -o samlpe.out samlpe.cpp -I$BOOST_INCLUDE -L$BOOST_LIB -lboost_thread-gcc-mt
其中-I参数指定Boost头文件路径,-L参数指定Boost库文件路径,-l参数指定使用线程库名。在我使用的这个版本Boost里,到/usr/local/lib/boost路径下,可以看到有关Boost线程库文件,比如:libboost_thread-gcc-mt.a等。注意在用-l参数指定库名时把磁盘文件名前面那个lib前缀去掉就可以了。
打开synaptic, 找到libboost-all-dev, 安装即可。安装后可以查看boost相关库,在/usr/lib/目录下
如:/usr/lib/libboost_date_time.a /usr/lib/libboost_math_tr1f-mt.a /usr/lib/libboost_serialization-mt.so
/usr/lib/libboost_date_time-mt.a/usr/lib/libboost_math_tr1f-mt.so /usr/lib/libboost_serialization.so
/usr/lib/libboost_date_time-mt.so /usr/lib/libboost_math_tr1f.so/usr/lib/libboost_serialization.so.1.42.0
/usr/lib/libboost_date_time.so /usr/lib/libboost_math_tr1f.so.1.42.0 /usr/lib/libboost_signals.a
/usr/lib/libboost_date_time.so.1.42.0 /usr/lib/libboost_math_tr1l.a /usr/lib/libboost_signals-mt.a
/usr/lib/libboost_filesystem.a /usr/lib/libboost_math_tr1l-mt.a /usr/lib/libboost_signals-mt.so
/usr/lib/libboost_filesystem-mt.a /usr/lib/libboost_math_tr1l-mt.so /usr/lib/libboost_signals.so
/usr/lib/libboost_filesystem-mt.so /usr/lib/libboost_math_tr1l.so/usr/lib/libboost_signals.so.1.42.0
/usr/lib/libboost_filesystem.so /usr/lib/libboost_math_tr1l.so.1.42.0 /usr/lib/libboost_system.a
/usr/lib/libboost_filesystem.so.1.42.0 /usr/lib/libboost_math_tr1-mt.a /usr/lib/libboost_system-mt.a
/usr/lib/libboost_graph.a /usr/lib/libboost_math_tr1-mt.so /usr/lib/libboost_system-mt.so
/usr/lib/libboost_graph-mt.a/usr/lib/libboost_math_tr1.so /usr/lib/libboost_system.so
/usr/lib/libboost_graph-mt.so /usr/lib/libboost_math_tr1.so.1.42.0 /usr/lib/libboost_system.so.1.42.0
/usr/lib/libboost_graph.so /usr/lib/libboost_prg_exec_monitor.a /usr/lib/libboost_test_exec_monitor.a
/usr/lib/libboost_graph.so.1.42.0 /usr/lib/libboost_prg_exec_monitor-mt.a /usr/lib/libboost_test_exec_monitor-mt.a
复制代码头文件在/usr/include/boost下gnuser@ubuntu:~$ ls /usr/include/boost/
accumulators date_time.hpp io_fwd.hpp pointer_cast.hpp spirit
algorithmdetailiostreams pointer_to_other.hpp spirit.hpp
aligned_storage.hpp dynamic_bitsetis_placeholder.hpp pool statechart
any.hpp dynamic_bitset_fwd.hppiterator preprocessor static_assert.hpp
archive dynamic_bitset.hppiterator_adaptors.hpp preprocessor.hpp strong_typedef.hpp
array.hppenable_shared_from_this.hpp iterator.hpp program_optionsswap.hpp
asio exception lambda program_options.hppsystem
复制代码boost库命名:
比如libboost_regex-vc71-mt-d-1_34.lib,
lib: 库前缀,除了windows平台,都是这个前缀
boost_regex: boost的regex库
-mt 多线程支持
-d debug版本
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)