资讯动态

【C++】揭秘工程实践:Boost 源码编译与 CMake 环境搭建的具体流程

发布时间:2026/8/30 23:04:47 来源:尧图企业网站定制
大奇个人主页 https://blog.csdn.net/m0_75192474?typeblog⚡本文所属专栏https://blog.csdn.net/m0_75192474/category_13131150.htmlBoost库介绍Boost 是 C 社区最权威、最成熟的准标准库集合由 C 标准委员会成员主导开发是标准库的 “孵化器” 与 “超级扩展”。它提供 160 高质量、跨平台、开源的库覆盖内存、容器、网络、文件、并发、序列化、数学等几乎所有开发场景。应用场景领域核心库典型项目网络通信Asio/Beast机器人 UDP、TCP 服务器、物联网网关、WebSocket 服务嵌入式 / 机器人SmartPtr/Pool/Asio/Serialization传感器数据采集、电机控制、多任务、低内存优化跨平台工具Filesystem/ProgramOptions/StringAlgo文件管理器、日志工具、配置解析器高性能服务Asio/Coroutine2/Thread高并发服务器、实时数据处理、消息队列科学 / 金融Math/Multiprecision数值模拟、风险计算、密码学游戏 / 图形SmartPtr/Pool/Container粒子系统、资源管理、场景图数据持久化Serialization/Filesystem配置保存、数据备份、对象存储Boost官网将zip解压尽量使用7-zip解压因为系统解压会非常慢紧接着就是安装mingw因为需要用到gcc注本人使用的是Qt安装时自带的mingw, 其路径为D:\Lenovo_app\QtInstall\Tools\mingw730_64\bin里面含有gcc.exe配置完环境变量后在终端执行如下命令查看gcc的位数gcc —version若输出Target: x86_64-w64-mingw32说明mingw是64位的点击win键输入cmd点击“以管理员身份运行”然后进入到你解压的目录如果进入D盘输入D:执行命令bootstrap.bat gcc执行成功后会生成一个b2.exe文件编译安装b2 toolsetgcc address-model64 linkstatic,shared --with-system --with-filesystem --with-thread --with-chrono --with-regex --with-program_options --with-json --with-log --with-date_time --prefixD:\CBoost\boost_install installtoolsetgcc指定编译器 GCCMinGWaddress-model64编译 64 位版本的 Boostlinkstatic,sharedstatic 静态库 .a shared 动态库 .dll--with-xxx只编译这些 Boost 模块prefixD:\CBoost\boost_install编译完后把库安装到这个目录静静等待成功后boost_install目录下生成include,lib,分别存放头文件和库文件VsCode配合CMake使用按照这样的目录结构创建工作空间CMakeLists.txt文件# 指定 CMake 最低版本要求必须写在最前面 cmake_minimum_required(VERSION 3.10) # 项目名 project(udpros2) # 使用 C17 标准编译 set(CMAKE_CXX_STANDARD 17) set(BOOST_ROOT D:\\CBoost\\boost_install64) set(Boost_NO_SYSTEM_PATHS ON) aux_source_directory(${PROJECT_SOURCE_DIR}/src SRC) include_directories(${PROJECT_SOURCE_DIR}/include) include_directories(${BOOST_ROOT}/include) # 可执行文件输出路径 set(EXECUTABLE_OUTPUT_PATH D:\\SROS\\bin) # 自动寻找 Boost find_package(Boost REQUIRED system filesystem thread ) # 生成可执行文件 app add_executable(udpros2 ${SRC}) target_link_libraries(udpros2 PRIVATE ${Boost_LIBRARIES} ws2_32 iphlpapi )注在windows使用asio网路库需要target_link_libraries(udpros2 PRIVATE ${Boost_LIBRARIES} ws2_32 iphlpapi )在main函数中添加Boost头文件测试main.cpp#includeiostream#includeboost/thread.hpp#includeboost/asio.hpp#includeboost/json.hpp#includeudp.hintmain(){std::couthello srosstd::endl;return0;}进入build目录 输入cmake .. -G MinGW Makefiles”再执行mingw32-make.exe解决Vscode中头文件包波浪线错误安装C/C插件后如果发现自己在源码中包含的头文件报错找不到includePath一般都是插件问题新建c_cpp_properties.json加入/** * 程序功能: C/C插件使用配置 * 程序作者: LooKRays大奇 * 编写日期: 2026-03-23 17:50 * 程序备注: 解决VScode的头文件路径错误波浪线主要参数是includePath文件生成可在插件设置中找到 */{configurations:[{name:Win32,includePath:[${workspaceFolder}/**,// 项目所有文件夹${workspaceFolder}/include,// 头文件目录D:/CBoost/boost_install64/include// Boost 头文件],defines:[_DEBUG,UNICODE,_UNICODE],cStandard:c11,cppStandard:gnu14,intelliSenseMode:windows-gcc-x64,// 使用 GCC 语法提示configurationProvider:ms-vscode.cmake-tools// 从CMake拿配置,有时没用}],version:4}主要就是配置includePath:[${workspaceFolder}/**,// 项目所有文件夹${workspaceFolder}/include,// 头文件目录D:/CBoost/boost_install64/include// Boost 头文件],或者鼠标悬浮到头文件处点击快速修复再点击

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价