Debian Linux字符界面 Boost 库下载 使用 [大三四八九月实习]

来源:互联网 发布:经济下行 知乎 编辑:程序博客网 时间:2024/05/02 03:07

环境:Vmware + Debian Linux 5.0 字符界面

1 安装

Vmware Debian Linux 字符界面下,如果没有搭建号ftp的与Vmware虚拟机的连接,则只有在Debian Linux Shell 界面上下载、安装、更新所需的软件包了。

 

(1) 查询安装boost库需要安装哪些软件包

$ 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就表示软件是手动安装的。

 

(2) 安装boost库组件

若使用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下。

 

2 使用boost无须链接参数的库

到了这一步,已经可以使用boost库下的某些库组件了,如boost库下的timer等只需包含其头文件就可以使用的组件。此种组件库跟在VS2010下的用法一致,可参见:BOOST timer库应用[timer1]笔记

gcc编译此类C++源文件时只需要链接C++库即可(g++不用链接库):gcc hello.cpp –o hello –lstdc++

 

3 使用boost库需链接参数的库

如果知做眼前的步骤,则boost库需要编译才能使用的库就还不能使用,如thread线程库。在Debian linux下使用thread库跟VS2010中编码的步骤差不多,见BOOST thread类线程使用笔记,主要是需要包含的头文件。

Debian Linux下经过以上步骤后使用boost库的trehad库需要在用gcc编译C++源程序时加入-lboost_thread链接参数。

如编译hello.cpp [ hello.cpp内含boostthread代码 ]

gcc hello.cpp –o hello_boost –lstdc++ -lboost_thread

-lstdc++为链接C++库的链接参数,-lboost_thread为链接boost库某库的链接参数。

链接c++库的规律已经说明,链接boost库的规律跟链接c++库的规律一样,只是需要再加上boost前缀。

 

Note Over。