当前位置: 首页 > 工具软件 > libre > 使用案例 >

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

封锐藻
2023-12-01


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> 
 类似资料: