当前位置: 首页 > web >正文

QT集成Boost库

在Windows平台上,使用Qt集成Boost库,并基于MSVC编译器在CMake文件中加载,可以按照以下步骤进行配置。

  1. Boost库的编译

如果Boost库未预编译,需要手动编译,解压zip到D:\Library\boost_1_87_0,打开cmd命令行执行以下命令:

> bootstrap.bat
> b2 toolset=msvc address-model=64 --build-type=complete
  • address-model=64:指定64位编译(如果是32位系统,改为address-model=32)
  • toolset=msvc:指定使用MSVC编译器
  • build-type=complete 表示编译所有库
  1. CMake配置
cmake_minimum_required(VERSION 3.14)
project(QtBoostIntegration)# 设置策略 CMP0144 的行为
if (POLICY CMP0144)cmake_policy(SET CMP0144 NEW)
endif ()# 设置Qt路径(如果未在环境变量中配置)
set(CMAKE_PREFIX_PATH "C:/Qt/6.5.0/msvc2019_64") # 修改为你的Qt安装路径# 查找Qt库
find_package(Qt6 REQUIRED COMPONENTS Core Gui Widgets)# 设置Boost路径
set(BOOST_ROOT "D:/Library/boost_1_87_0") # 修改为你的Boost安装路径
set(Boost_USE_STATIC_LIBS ON) # 表示使用静态链接的 Boost 库
set(Boost_USE_MULTITHREADED ON) # 表示使用多线程的 Boost 库
find_package(Boost 1.87.0 REQUIRED COMPONENTS filesystem system) # 根据需求添加Boost组件
if (Boost_FOUND)include_directories(${Boost_INCLUDE_DIRS})message(STATUS "Boost include directories: ${Boost_INCLUDE_DIRS}")message(STATUS "Boost library directories: ${Boost_LIBRARY_DIRS}")message(STATUS "Boost libraries: ${Boost_LIBRARIES}")
endif ()# 添加可执行文件
add_executable(QtBoostIntegration main.cpp)# 链接Qt库
target_link_libraries(DemoApp1Qt5::CoreQt5::GuiQt5::WidgetsQt5::WebSocketsQt5::Network
)# 链接Boost库
target_link_libraries(DemoApp1Boost::filesystemBoost::system
)

注意

  • Boost路径:确保BOOST_ROOT和BOOST_LIBRARYDIR指向正确的Boost安装路径
  • Qt路径:如果Qt未在环境变量中配置,确保CMAKE_PREFIX_PATH指向正确的Qt安装路径
  • Boost组件:根据项目需求,在find_package(Boost REQUIRED COMPONENTS …)中添加所需的Boost组件
http://www.xdnf.cn/news/14227.html

相关文章:

  • PyCharm 中更改缓存和插件目录
  • 【华为开发者学堂】HarmonyOS
  • 以MNIST数据集为例进行单机多卡训练(DP和DDP)
  • 每日算法刷题Day31 6.14:leetcode二分答案2道题,结束二分答案,开始枚举技巧,用时1h10min
  • 【生活系列】金刚经
  • 使用 FastMCP 实现 Word 文档与 JSON 数据互转的 Python 服务
  • PHP、Apache环境中部署sqli-labs
  • 【构建】C++包管理器介绍
  • 从0开始学习语言模型--Day01--亲自构筑语言模型的重要性
  • python中的异常处理try-except - else - finally与自定义异常处理
  • R语言文本探索与预处理:入门指南
  • PH热榜 | 2025-06-14
  • C++开源协程库async_simple有栈协程源码分析
  • SQL Server 窗口函数详解:窗口行数控制的原理、关键字与应用场景
  • 计算机网络-自顶向下—第五章数据链路层重点复习笔记
  • Thread的join方法
  • python+django/flask+uniapp宠物中心信息管理系统app
  • Java开发中避免NullPointerException的全面指南
  • 【三维重建】无位姿图像的大场景On-the-fly重建
  • 【Linux】初见,进程概念
  • 创客匠人解析:美团护城河战略对 IP 可持续变现的启示
  • TCP 协议
  • 2025年EAAI SCI1区TOP,贪婪策略粒子群算法GS-IPSO+无人机桥梁巡检覆盖路径规划,深度解析+性能实测
  • 函数式编程 stream流 lambda表达式
  • event.target 详解:理解事件目标对象
  • 学习昇腾开发的第二天--PC机远程登录开发板
  • 大IPD之——华为的管理变革与战略转型之道(三)
  • 05-Linux软件安装与前后端项目部署
  • adoc(asciidoc)转为markdown的方法,把.adoc文件转换为markdown格式
  • PostgreSQL的扩展pg_visibility