码迷,mamicode.com
首页 > 系统相关 > 详细

Linux Boost 安装, 测试程序

时间:2016-10-18 23:14:18      阅读:360      评论:0      收藏:0      [点我收藏+]

标签:linux boost 安装   测试程序   

下载:

wget http://101.96.10.75/ncu.dl.sourceforge.net/project/boost/boost/1.62.0/boost_1_62_0.tar.bz2
tar xf boost_1_62_0.tar.bz2 
cd boost_1_62_0/


编译安装

bash bootstrap.sh 
echo $?
./b2
echo $?
sudo ./b2 install --prefix=/tmp/haha  #/tmp/haha是我建立的目录
echo $?


chunli@linux:~$ ll /tmp/haha/
total 8.0K
drwxr-xr-x 3 root root 4.0K Oct 18 20:58 include
drwxr-xr-x 2 root root 4.0K Oct 18 20:59 lib
chunli@linux:~$ du -sh /tmp/haha/
184M	/tmp/haha/
chunli@linux:~$



写个测试程序:

root@linux:/tmp# cat main.cpp 
#include <boost/lexical_cast.hpp>     
#include <iostream>     

using namespace std;  

int main()  
{  
	using boost::lexical_cast;   

	int a=lexical_cast<int>("123");   
	double b=lexical_cast<double>("123.0123456789");   
	string s0=lexical_cast<string>(a);   
	string s1=lexical_cast<string>(b);   
	cout<<"number: "<<a<<"  "<<b<<endl;   
	cout<<"string: "<<s0<<"  "<<s1<<endl;   
	int c=0;   
	try{    
		c=lexical_cast<int>("abcd");   
	}    
	catch(boost::bad_lexical_cast& e){    
		cout<<e.what()<<endl;   
	}  
	cout << "Hello \n";

	return 0;   
}

root@linux:/tmp# g++ main.cpp && ./a.out 
number: 123  123.012
string: 123  123.0123456789
bad lexical cast: source type value could not be interpreted as target
Hello 
root@linux:/tmp#



编译报错:

chunli@ubuntu14:/tmp$ g++ main.cpp 
main.cpp:1:39: fatal error: boost/lexical_cast.hpp: No such file or directory
 #include <boost/lexical_cast.hpp>     
                                       ^
compilation terminated.



解决办法:指定头文件

chunli@ubuntu14:/tmp$ g++ main.cpp -I haha/include/
chunli@ubuntu14:/tmp$ ./a.out 
number: 123  123.012
string: 123  123.0123456789
bad lexical cast: source type value could not be interpreted as target
Hello 
chunli@ubuntu14:/tmp$


永久的解决办法,放到系统的路径下

chunli@ubuntu14:/tmp$ sudo mv haha/include/* /usr/include/
chunli@ubuntu14:/tmp$ sudo mv haha/lib/ /usr/lib/
chunli@ubuntu14:/tmp$ g++ main.cpp  && ./a.out 
number: 123  123.012
string: 123  123.0123456789
bad lexical cast: source type value could not be interpreted as target
Hello 
chunli@ubuntu14:/tmp$




本文出自 “魂斗罗” 博客,谢绝转载!

Linux Boost 安装, 测试程序

标签:linux boost 安装   测试程序   

原文地址:http://990487026.blog.51cto.com/10133282/1863180

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!