本文参考Qt5配置开源GSL数学库与Windows系统Qt5/mingw-64配置GSL科学计算库。
首先参考MSYS2快速配置C++环境+ZSH安装MSYS2(64位)并换源(最好安装与Qt Maintenance Tool安装的Qt MinGW binaries相同版本号的MSYS MinGW,本文安装的Qt MinGW binaries是11.2.0(rev3)版本,参考mingw-builds-binaries),然后执行
pacman -S mingw-w64-x86_64-gsl
输出
假设MSYS2的安装目录为D:\Program_Files\msys64,Qt的安装目录为D:\Qt,则将D:\Program_Files\msys64下的bin\libgsl-27.dll、bin\libgslcblas-0.dll、include\gsl、lib\libgsl.a、lib\libgsl.dll.a、lib\libgslcblas.a、lib\libgslcblas.dll.a分别复制到D:\Qt\Tools\mingw1120_64下的对应bin、include、lib目录下。
在项目的CMakeLists.txt中添加
find_package(GSL REQUIRED)
在target_link_libraries()
语句中添加GSL::gsl
:
target_link_libraries(YourApp PRIVATE
Qt6::Core
Qt6::Gui
Qt6::Qml
Qt6::Quick
GSL::gsl
)
在main.cpp
中添加测试:
#include "gsl/gsl_sf_bessel.h"
#include <iostream>
(若在Qt Creator中编辑且已正确配置,那么Qt Creator会成功提示gsl的头文件)。在main()
函数中添加:
double x=10.0;
double y=gsl_sf_bessel_J0(x);
std::cout<<"J0("<<x<<")="<<y<<std::endl;
按Ctrl+R运行,在3 应用程序输出中查看:
运行成功。