Win10 环境通过gcc手动编译配置boost库 for LibreCAD

在Win10环境下,由于Qt只配置了MinGW,需要手动编译boost库。首先下载boost源代码,然后配置系统环境变量,包括Qt的mingw相关目录。接着通过命令行生成编译工具并编译boost,最后将编译好的库文件和头文件添加到LibreCAD项目中,确保项目能正确识别boost库。
摘要由CSDN通过智能技术生成

Win10 环境通过gcc手动编译配置boost库 for LibreCAD


0. 说明

在win10环境下,通过Qt编译LibreCAD遇到boost库问题,Qt只配置了MinGW、gcc、g++等,通过手动编译配置。

1. 手动配置编译boost库

  1. 下载解压boost库
    boost官网下载源代码(本例使用boost_1_79_0版本)并解压
  2. 生成可执行编译工具
 1. 将qt的mingw编译相关目录添加到系统环境变量,以免找不到(根据实际情况修改)
    1.1 在系统环境变量中,编辑path,添加路径 D:\Qt\Qt5.14.2\Tools\mingw730_64\bin
    1.2 在系统环境变量中,添加,变量名C_INCLUDE_PATH,路径 D:\Qt\Qt5.14.2\Tools\mingw730_64\include
    1.3 在系统环境变量中,添加,变量名LIBRARY_path,路径:D:\Qt\Qt5.14.2\Tools\mingw730_64\lib
 2. Win + R 打开 “运行” ,输入cmd 回车打开命令行。
cmd
 3. 进入解压目录盘符(本例为E盘)
E:
 4. 打开进入目录下的boost_1_79_0\tools\build\src\engine文件夹
cd E:\Boost\boost_1_79_0\tools\build\src\engine
 5. 运行命令build mingw 生成可执行编译工具
build mingw
 7. 将生成的b2和bjam剪切到boost的根目录E:\Boost\boost_1_79_0下
  1. 使用编译工具进行编译
 1. 进入boost的根目录
 cd E:\Boost\boost_1_79_0
 2. 输入命令行编译
 b2 --toolset=gcc --prefix=D:\Boost address-model=64 link=shared runtime-link=shared threading=multi install

具体的参数说明参考博客boost库编译选项(windows),编译完成的头文件和库文件在D:\Boost中

2. 将库文件和头文件添加到项目中

  1. 将生成的文件复制到LibreCAD项目的LibreCAD\libraries\boost目录下
  2. 可以将目录结构进行适当的修改(视情况而定)
  3. 在LibreCAD\librecad\src中的boost.pri中修改如下
win32 {
    BOOST_DIR = ../../libraries/boost/boost_1_79_0/
    BOOST_INCDIR = $${BOOST_DIR}/
    BOOST_LIBDIR = $${BOOST_DIR}/lib/
    
    !exists( "$${BOOST_INCDIR}/boost/version.hpp" ) {
        error( "Can not find Boost installation in $${BOOST_DIR}" )
    }
    INCLUDEPATH += $${BOOST_INCDIR}
    
}

  1. 若编译仍旧报错,查找添加相关的头文件
win32 {

    BOOST_DIR = ../../libraries/boost/boost_1_79_0/
    BOOST_INCDIR = $${BOOST_DIR}/
    BOOST_LIBDIR = $${BOOST_DIR}/lib/
    
    !exists( "$${BOOST_INCDIR}/boost/version.hpp" ) {
        error( "Can not find Boost installation in $${BOOST_DIR}" )
    }
    INCLUDEPATH += $${BOOST_INCDIR}
}

例如:如下段报错 找不到函数
#if BOOST_VERSION > 104500
    boost::math::tuple<double, double, double> operator()(double const& z) const {
#else
在头文件中添加:
#include <boost/math/tools/tuple.hpp> 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值