C++开源库编译
基于Mingw编译Boost 1.84.0
基于Mingw,编译过程基于个人理解,解释不一定正确,有错误欢迎指正
Boost大多数库不需要编译,只需要引入头文件即可,只有以下库必须编译使用
- Boost.Chrono
- Boost.Context
- Boost.Filesystem
- Boost.GraphParallel
- Boost.IOStreams
- Boost.Locale
- Boost.Log (see build documentation)
- Boost.MPI
- Boost.ProgramOptions
- Boost.Python (see the Boost.Python build documentation before building and installing it)
- Boost.Regex
- Boost.Serialization
- Boost.Thread
- Boost.Timer
- Boost.Wave
源码tools/build/目录是针对所有需要编译的库
主要步骤
cd tools/build
bootstrap.bat gcc # 这里生成编译过程第一步的文件
b2 install toolset=gcc # 这里配置好编译环境配置,设定好需要编译哪些库,配置文件放在c盘b2目录内
# 将c盘根目录b2目录下的内容拷贝到boost源码目录,然后执行下面的指令,将在源码目录按照设定的条件编译,生成库,库文件放在stage文件夹内
b2 toolset=gcc --build-type=complete stage
基于Mingw编译QtMQTT
基于QT6,Mingw,perl
所下载版本需要跟运行的Qt版本兼容,否则会报错,提示版本不兼容,根据提示下载兼容版本即可
[可能需要python],我电脑本来就有,不确定是否依赖这些项
主要步骤
- 源码下载 QtMqtt6.6.0
- 命令行步骤
mkdir build
cd build
# 设置qt-configure-module.bat,关键步骤
# 该文件处于目录Qt6/6.6.2/mingw_64/bin,命令前要加上实际路径
qt-configure-module.bat ..
## .. 是源码目录,这里是build的上层目录
cmake --build .
## . 是build目录
cmake --install . --verbose
注意事项
- mingw的bin目录要加入环境变量, 通过以下指令测试,使用Qt安装的mingw
gcc -v
- 系统要支持cmake,将Cmake的bin目录加入环境变量,通过以下指令测试,使用Qt安装的CMake
cmake --version
- 系统要支持Ninja,将ninja目录加入环境变量,通过以下指令测试,使用Qt安装的Ninja
ninja --version
- 系统需要支持perl,下载安装strawberry版本即可,通过以下指令测试,安装完无需再配置环境变量
perl --version
- 如果源码盘符与QT安装不在一个盘符,install后会在源码盘符下生成安装后的目录和文件,将这些目录和文件拷贝到QT安装目录相应位置即可
参考连接
链接1: Qt6.3.1 编译 qtmqtt