我的boost是提前在windows下面下载编译好的,只是又装了一个utunbu,需要在linux下面编译,所以直接跳过下载和解压部分。
有需要的可以参考:http://www.hwcrazy.com/topic.action?idTopic=ff8081812a358610012a3587d7e30001#
1、打开终端,cd 到boost目录。
2、使用默认的参数直接运行 ./bootstrap.sh
3、./bjam 生成lib文件(没注意到还有个形式是./bjam install,直接安装到系统目录下面,如果使用了这个命令就不需要向下看了)。
4、在stage/lib下生成了很多libboost*.a和libboost*.so.1.42.0
5、现在我不想拷贝到系统目录下面,就直接使用
sudo ln -s /media/project/project/Thrid_source/Third_CSource/boost_1_42_0/include /usr/include/boost
将boost目录下的incude文件夹直接链接到系统包含目录下面。
6、在/media/project/project/Thrid_source/Third_CSource/boost_1_42_0/include /usr/include/boost/stage
下面创建了一个shell脚本文件link_lib.sh,内容是
sudo find $PWD/lib/*.a -type f -exec ln -s {} /usr/lib/ \;
sudo find $PWD/lib/*.so.1.42.0 -type f -exec ln -s {} /usr/lib/ \;
然后在终端中cd到boost/state目录, 执行./link_lib.sh,输入密码后动态库链接完成。
7、打开IDE,测试一下吧。
后记:
安装boost不难,难的是对于我这个linux脚本菜鸟来说,写 link_lib.sh是最难的。
其中遇到的几个问题:
1、ls链接需要指定绝对路径,否则有可能将链接出一个错误的文件。
2、find后不知道exec如何使用,现在看来 sudo find $PWD/lib/*.a -type f -exec ln -s {} /usr/lib/ \;这条命令是由
sudo find $PWD/lib/*.a -type f(用来查找当前目录下面的lib文件夹中所有的后缀为.a的文件),
加上 -exec ln -s {} /usr/lib/ \; (将查找出来的文件在 /usr/lib下面 链接一个同名文件, {}就相当从上半条命令中得到的结果,做为后半条命令的参数, \;代表命令行结束。
以下博客给与了我帮助:
http://hi.baidu.com/linzch/blog/item/db3252fb59802b1e6d22eb80.html
http://fanqiang.chinaunix.net/program/shell/2007-02-08/5065.shtml
http://www.kuaixiang.net/linux-batch-rename-files
http://pickerel.iteye.com/blog/168690