VMware Debian Linux 5.0 图形界面配置boost_1_52_0 [大三四八九月实习]
2013-09-27 13:44
489 查看
已经在windows之上配置号boost_1_54_0的环境,可偏偏在Debian Linux 5.0上配置不了,每次用./b2进行编译的时候,虚拟机就直接死掉。然后见到匿名博兄[Linux
编译boost库]文章后,念想着编译一下boost_1_52_0试试。然后就成功了,感谢152博兄。下面记录编译过程。
boost_1_52_0.tar.bz2。
此步骤是在windows之上下载的,估计直接在VMware内Debian Linux中下载也可以。因为安装了VMware的vmware tools[VMware为图形界面安装vmware
tools],故而可以将下载的压缩包直接托进Debian Linux桌面之上[Debian Linux图形界面]。
![](http://img.blog.csdn.net/20130927133616109?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbWlzc2tpc3ND/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
图表 1:Linux版本boost_1_52_0
![](http://img.blog.csdn.net/20130927133802687?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbWlzc2tpc3ND/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
图表 2:Debian 命令行终端
各个命令的含义如下:
su 获取root权限,回车后可输入root账号密码就可以获取root权限。
cp 将桌面之上的boost压缩包拷贝至/opt目录下。
bzip2 Linux下压缩后缀为.bz2的文件,以上用法是将.bz2压缩包转换为.tar压缩包。
tar 解压boost_1_52_0.tar,在本目录下得到解压的boost_1_52_0。
–help查看其使用方式。它的用法跟在windows之上差不多。也可以直接使用下面的简单的方式完成boost库的编译。
不加sudo编译后boost::thread库编译会有错误。
从./b2 –help中可以得到,此种方式的编译会让boost库生产的所有的头文件在/usr/local/include/boost下,boost生成的库文件在/usr/local/lib下。
为了能够正确使用boost库,需要将在/usr/local/lib下的boost库拷贝到/usr/lib下,在命令行终端使用cp
/usr/local/lib/libboost** /usr/lib命令完成拷贝。
这个过程会花一段时间来完成。台式机和Linux都不会花很多时间,半个小时左右,很大可能都是半个小时左。为了测试编译有没有成功,就编写一个使用boost库的程序试试,由于timer库不编译也能使用,故而是用thread库来测试一下。
然后在终端编[进入终端]译boost_thread.cpp文件:
![](http://img.blog.csdn.net/20130927134258062?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbWlzc2tpc3ND/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
图表 3:编译boost_thread.cpp
进入boost_thread.cpp文件目录后就使用gcc编译该文件,与字符界面不同的是,此时gcc不用再链接C++库。只需要链接boost库。规律为:-lboost为链接前缀,libraryname为对应的库名。如编译boost库的thread程序时,编译链接参数为:-lboost_thread
Note Over。
编译boost库]文章后,念想着编译一下boost_1_52_0试试。然后就成功了,感谢152博兄。下面记录编译过程。
1.下载unix版本的boost_1_52_0
下载地址:boost官网unix版本boost_1_52_0.tar.bz2。
此步骤是在windows之上下载的,估计直接在VMware内Debian Linux中下载也可以。因为安装了VMware的vmware tools[VMware为图形界面安装vmware
tools],故而可以将下载的压缩包直接托进Debian Linux桌面之上[Debian Linux图形界面]。
图表 1:Linux版本boost_1_52_0
2 编译配置boot库
(1)拷贝boost库至opt[此目录可选]目录解压
在Debian Linux中,桌面是普通用户的一个子目录。进入命令行终端,使用root权限将boost库压缩包拷贝到/opt下解压:图表 2:Debian 命令行终端
各个命令的含义如下:
su 获取root权限,回车后可输入root账号密码就可以获取root权限。
cp 将桌面之上的boost压缩包拷贝至/opt目录下。
bzip2 Linux下压缩后缀为.bz2的文件,以上用法是将.bz2压缩包转换为.tar压缩包。
tar 解压boost_1_52_0.tar,在本目录下得到解压的boost_1_52_0。
(2)运行bootstrap.sh
bootstrap.sh在解压目录boost_1_52_0下,在Linux下运行此文件生成b2和bjam文件(windows之上运行bootstrap.bat)。cd boost_1_52_0 ./bootstrap.sh |
(3)修改user-config.jam文件
user-config.jam位于boost_1_52_0/tools/build/v2/下,用vi命令将其打开后可直接在文件末尾加如下两行:using gcc ; using mpi ; |
(4)运行b2
b2是运行bootstrap.sh时生成的,用此命令可以根据运行bootstrap.sh后的提示用./b2–help查看其使用方式。它的用法跟在windows之上差不多。也可以直接使用下面的简单的方式完成boost库的编译。
sudo ./b2 install |
从./b2 –help中可以得到,此种方式的编译会让boost库生产的所有的头文件在/usr/local/include/boost下,boost生成的库文件在/usr/local/lib下。
为了能够正确使用boost库,需要将在/usr/local/lib下的boost库拷贝到/usr/lib下,在命令行终端使用cp
/usr/local/lib/libboost** /usr/lib命令完成拷贝。
这个过程会花一段时间来完成。台式机和Linux都不会花很多时间,半个小时左右,很大可能都是半个小时左。为了测试编译有没有成功,就编写一个使用boost库的程序试试,由于timer库不编译也能使用,故而是用thread库来测试一下。
3 boost库测试
在Debian Linux 下用gedit编写以下一段C++代码:#include <iostream> #include <boost/thread.hpp> using namespace std; using namespace boost; #define BOOST_DATE_TIME_SOURCE #define BOOST_THREAD_NO_LIB //Function decalration void print_string( const string &str ); int main(void) { thread my_thread1( print_string, "hello" ); return 0; } //Function definition void print_string( const string &str ) { int i; for( i = 0; i < str.length(); ++i ){ cout << str[i]; } cout << "\n"; }
然后在终端编[进入终端]译boost_thread.cpp文件:
图表 3:编译boost_thread.cpp
进入boost_thread.cpp文件目录后就使用gcc编译该文件,与字符界面不同的是,此时gcc不用再链接C++库。只需要链接boost库。规律为:-lboost为链接前缀,libraryname为对应的库名。如编译boost库的thread程序时,编译链接参数为:-lboost_thread
Note Over。
相关文章推荐
- Debian GNU/Linux 5.0 图形界面基本使用 [大三四八九月实习]
- VMWare Debian GNU/Linux 图形界面安装 [大三四八九月实习]
- VMWare Debian Linux 图形界面 vmware tools 安装 [大三四八九月实习]
- Debian Linux字符界面 Boost 库下载 使用 [大三四八九月实习]
- Debian Linux下编译C++源程序 [大三四八九月实习]
- BOOST 在windows的编译及配置(VS2010) [大三四八九月实习]
- Debian GUN/Linux Desktop grap语言配置 [大三四八九月实习]
- boost 库 timer组件的源码分析 [大三四八九月实习]
- ACE在windows下的编译及配置(VS2010) [大三四八九月实习]
- C++ boost::asio::serial_port 串口通信类 使用 封装 [大三四八九月实习]
- 转载_利用虚拟机VMWARE安装并配置Debian Linux系统的总结
- TinyXML + VS2010项目配置 使用TinyXML类创建XML文件 [类中防内存泄露] [大三四八九月实习]
- BOOST 库 thread类线程使用 [大三四八九月实习]
- 在VMware中Linux系统的网络配置解析
- Linux下Apache 2.2, MySQL 5.0和PHP 5.0的安装与配置
- Boost下载安装编译配置使用指南(含Windows和Linux)
- vmware vshpere5.0 linux 6.5 scsi_id 查看不到uuid
- Linux VMware新添加网络适配器找不到配置文件问题
- boost库 bind/function的使用 [大三四八九月实习]
- Linux下Apache 2.2, MySQL 5.0的安装与配置