环境:Vmware + Debian Linux 5.0 字符界面
在Vmware Debian Linux 字符界面下,如果没有搭建号ftp的与Vmware虚拟机的连接,则只有在Debian Linux Shell 界面上下载、安装、更新所需的软件包了。
$ aptitude search boost 或者$ apt-cache search boost
经前面命令后,在Debian Linux Shell 界面之上的会显示boost库下的所有需要安装的组件,如果软件包前面显示字符i,则表示此组件已经被安装,如果显示字符p则表示此组件还未被安装,此时可以使用apt-get install 安装这些组件。apt-cache search boost命令不会显示各个组件安装与否的状态。
aptitude search boost命令列表下的状态含义如下(参考)
第一个是状态,意思就是软件是安装了,还是没有安装
v虚拟 B损坏 u解包 C预配置 H预安装 c卸载未清除 p清除软件包 i已经安装 E内部错误
第二个是动作,意思是将要执行什么样的操作,有下列几种请求操作
h保持 p清除 d删除 B损坏 i安装 r重装 u升级
第三个是自动手动设置,A表示软件是由依赖关系由系统自动安装的,没有A就表示软件是手动安装的。
若使用apt-get install 命令来一一安装显得工作量庞大,此时可以使用apt-get install命令结合通配符*来安装。
$ apt-get install libboost***
使用此命令安装boost库后,因为boost库下的boost-build不具有libboost库前缀的特点,故而需要单独为此包安装。再次使用aptitude search boost命令查看便知知boost-build库没有被安装。
使用apt-get install 命令安装的软件包默认在/var/cache/apt/archives目录下。Boost库头文件被自动拷贝到了/usr/include/boost下。
到了这一步,已经可以使用boost库下的某些库组件了,如boost库下的timer等只需包含其头文件就可以使用的组件。此种组件库跟在VS2010下的用法一致,可参见:BOOST timer库应用[timer库1]笔记。
用gcc编译此类C++源文件时只需要链接C++库即可(g++不用链接库):gcc hello.cpp –o hello –lstdc++
如果知做眼前的步骤,则boost库需要编译才能使用的库就还不能使用,如thread线程库。在Debian linux下使用thread库跟VS2010中编码的步骤差不多,见BOOST库 thread类线程使用笔记,主要是需要包含的头文件。
在Debian Linux下经过以上步骤后使用boost库的trehad库需要在用gcc编译C++源程序时加入-lboost_thread链接参数。
如编译hello.cpp [ hello.cpp内含boost库thread代码 ]
gcc hello.cpp –o hello_boost –lstdc++ -lboost_thread
-lstdc++为链接C++库的链接参数,-lboost_thread为链接boost库某库的链接参数。
链接c++库的规律已经说明,链接boost库的规律跟链接c++库的规律一样,只是需要再加上boost前缀。
Note Over。