boost 1.57.0安装
一. PC编译安装boost
boost是C++的准标准库,其有两种安装方法。
1. ubuntu下,通过sudo apt-get install libboost-all-dev。
2. 通过源码包安装,http://sourceforge.net/projects/boost/files/latest/download?source=dlp
下载源码包:boost_1_57_0.tar.bz2
1)解压后,进入目录,配置编译环境
./bootstrap.sh
注:boost下头文件在目录boost下。
2) 编译
./b2
编译完成后,stage下是生成的库文件。
3) 安装到主机上
sudo ./b2 install
默认安装头文件/usr/local/include/boost目录下,库文件在/usr/local/lib目录下。
二. ARM交叉编译boost
1)解压后,进入目录,配置编译环境,同PC。
./bootstrap.sh
注:boost下头文件在目录boost下。
2) 编译
编译前需配置交叉编译器,
if ! gcc in [ feature.values <toolset> ] { #关键是以下这句的修改 using gcc : arm : arm-linux-g++ ; #另外生成目录或者放置编译结果的目录请自行另作选择 }
./b2
编译完成后,stage下是生成的库文件。
gcc.compile.c++ bin.v2/libs/wave/build/gcc-arm/release/link-static/threading-multi/token_ids.o gcc.compile.c++ bin.v2/libs/wave/build/gcc-arm/release/link-static/threading-multi/wave_config_constant.o common.mkdir bin.v2/libs/wave/build/gcc-arm/release/link-static/threading-multi/cpplexer common.mkdir bin.v2/libs/wave/build/gcc-arm/release/link-static/threading-multi/cpplexer/re2clex gcc.compile.c++ bin.v2/libs/wave/build/gcc-arm/release/link-static/threading-multi/cpplexer/re2clex/aq.o gcc.compile.c++ bin.v2/libs/wave/build/gcc-arm/release/link-static/threading-multi/cpplexer/re2clex/cpp_re.o gcc.archive bin.v2/libs/wave/build/gcc-arm/release/link-static/threading-multi/libboost_wave.a common.copy stage/lib/libboost_wave.a ...failed updating 60 targets... ...skipped 21 targets... ...updated 975 targets...
一般情况下,有些库编译不成功,编译完成的库都在stage/lib下。
3) 安装到主机上
创建目录/usr/arm,/usr/arm/include,/usr/arm/lib;将boost/这个目录拷贝至/usr/arm/include下,将stage/lib下的库文件拷贝至/usr/arm/lib下。
默认安装头文件/usr/local/include/boost目录下,库文件在/usr/local/lib目录下。
三. 编译个小程序验证下是否成功。
#cat test.cpp #include <boost/lexical_cast.hpp> #include <iostream> int main() { using boost::lexical_cast; int a= lexical_cast<int>("123456"); double b = lexical_cast<double>("123.456"); std::cout << a << std::endl; std::cout << b << std::endl; return 0; }
g++ -o test test.cpp #ls test test.cpp # ./test 123456 123.456
参考:
http://www.xitongzhijia.net/xtjc/20150407/44268.html
http://blog.csdn.net/jwybobo2007/article/details/7242307
http://blog.csdn.net/jwybobo2007/article/details/8850008
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· dotnet 源代码生成器分析器入门
· ASP.NET Core 模型验证消息的本地化新姿势
· 对象命名为何需要避免'-er'和'-or'后缀
· SQL Server如何跟踪自动统计信息更新?
· AI与.NET技术实操系列:使用Catalyst进行自然语言处理
· dotnet 源代码生成器分析器入门
· 官方的 MCP C# SDK:csharp-sdk
· 一款 .NET 开源、功能强大的远程连接管理工具,支持 RDP、VNC、SSH 等多种主流协议!
· 一文搞懂MCP协议与Function Call的区别
· 一次Java后端服务间歇性响应慢的问题排查记录