【编译人生】跨平台程序设计BOOST库以及编译方案的选择

boost库很方便,不用说,下面是编译方法,以WINDOWS平台为例。

1.在 boost解压缩文件路径下(可能不同版本的路径位置build有所不同)

cd /d ../tools/build/v2/engine 

如果是1.78,则目录位置-\boost_1_78_0\tools\build\src\engine

2.在命令行下进入该目录输入

3.执行(选择GCC而不是VS编译器是为了考虑跨平台移植以及更多的去采用平台无关特性的库

 build.bat gcc

4.在当前目录将会生成两个文件,里面包含两个exe文件b2.exe,bjam.exe

5.这两个文件拷贝到项目根目录,然后输入命令

bjam stage --toolset=gcc --stagedir="c:\boost" architecture=x86 address-model=32 link=static runtime-link=shared threading=multi debug release

architecture=x86指定架构

address-model=32 指定32位还是64位的

link=static静态库编译便于多路分发

程序设计及编译方案的选择:

1.编译建议选择32位,便于全平台使用,即使64位能够发挥很多作用

2.建议使用静态库,再编译动态库,能够最大程度减少使用库所依赖的函数

3.C++11之后吸收了不少BOOST的新特性,对于可以由C++独立完成的如线程库、原子操作、模板类编程,尽量采用 C++自身的特性,尽管本文是推荐使用BOOST

4.Boost库之间依赖有顺序关系,这一点会在给一些小白遇到,提示link error的错误,以及可能会跟C++11以上的版本有冲突,比如正则库等等,这一点会爆莫名其妙的错误

在移动开发如此盛行的年代,之所以还要用BOOST,一方面是因为避免了重复造轮子,另一方面,BOOST的很多设计都比较前瞻,给人很好的启迪。下面也简单举几个比较有用的例子,能够帮助你快速开发的一些小技巧

A.序列化

将C++对象变为文本流或二进制流存储到IO上,这种操作在JAVA框架下比较盛行,容易理解,但是对C++来说同样也是适用且受欢迎。

//此处是对序列化的一个举例

B.命令行

PROGRAM OPTIONS在很多人看来是莫名其妙的事情,但是对于构建一个大型程序来讲,除了设计能够重复使用的DLL外,命令行程序是一个不错的选择,能够采取进程调用的方式进行处理,同时易于被移植

C.多进程

Process 比较棘手的是进程间通信的问题,但由于多进程的存在,简化了PC程序的开发,可以调用很多系统自带的服务软件

D.ASIO

网络消息异步处理采用比较多的框架之一,相对于其他复杂的网络框架,性能和入手简单都是不错 的均衡选择

E.消息框架

MPI是一款高性能并行应用程序中传递消息的库,这种消息库对于简单的程序来讲可能不需要,但是如果要构建一个复杂的、支持版本更新的、灵活处理各种复杂功能的软件,最好还是采用这个思路,能够很好的降低模块之间的耦合。

F.常用工具库

如正则、多线程、文件系统、容器等等,这些标准化的代码帮助我们减少了重复性造轮子的时间,特别是跨平台的支持,更是为实现了一次编写多处编译的目标。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Boost是一个开源的C++集合,提供了许多功能强大的组件和工具,用于增强C++语言的功能和性能。Qt是一个平台的应用程序开发框架,而MinGW是一个在Windows平台上使用的GNU工具集。 要编译Boost并与Qt和MinGW一起使用,可以按照以下步骤进行操作: 1. 下载Boost:首先,你需要从Boost官方网站(https://www.boost.org/)下载Boost的源代码。选择适合你的操作系统和编译器的版本。 2. 解压Boost:将下载的Boost源代码解压到你选择的目录中。 3. 打开命令提示符:在Windows上,按下Win + R键,输入"cmd"并按下Enter键,打开命令提示符。 4. 进入Boost目录:使用cd命令进入你解压Boost源代码的目录。 5. 运行bootstrap.bat:在命令提示符中运行bootstrap.bat脚本文件,它将为你的系统配置编译环境。 6. 编译Boost:运行b2命令来编译Boost。你可以使用一些选项来指定编译器和其他参数。例如,如果你想使用MinGW编译器,可以运行以下命令: ``` b2 toolset=gcc ``` 7. 安装Boost编译完成后,运行b2 install命令来安装Boost。这将把编译好的文件复制到指定的目录中。 8. 配置Qt项目:在Qt项目中使用Boost时,你需要在项目文件(.pro文件)中添加相应的配置。例如,如果你想使用Boost的某个模块,可以在.pro文件中添加以下行: ``` LIBS += -lboost_module INCLUDEPATH += /path/to/boost ``` 以上是编译Boost并与Qt和MinGW一起使用的基本步骤。具体的配置和使用方法可能因你的项目需求和环境而有所不同。如果遇到问题,可以参考Boost官方文档或在相关社区寻求帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值