在win10环境下,通过Qt编译LibreCAD遇到boost库问题,Qt只配置了MinGW、gcc、g++等,通过手动编译配置。
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. 进入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中
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}
}
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>