关于GNU Scientific Library(GSL)
主页: http://www.gnu.org/software/gsl/
GSL是C/C++编程环境下一个强大的数值计算库,详细介绍与教程等学习资料请参见主页.
1.首先要安装好msys2
安装方法可以参照
https://blog.csdn.net/engineer520/article/details/82192776
2.准备GSL的源码
去主页找源码的下载链接,
这里下载的源码是 gsl-2.5.tar.gz,
源码下载後要解压,用winrar的话解压到当前目录即可
这里解压到了 E:\ 盘,解压後的源码目录为 E:\gsl-2.5
3.打开 MSYS2 MinGW 64-bit 并进入源码目录
从截图可见,windows下的盘符 E:\ 被挂载成了 /e/ ,其余盘符同样被挂载成了 /c/, /d/ 等, 因此路径 E:\gsl-2.5 在msys2里面就变成了 /e/gsl-2.5
进入源码目录後通过命令./configure --help
来查看并确定静态预编译选项,最终确定的静态预编译命令为
./configure --prefix=/e/gsl-2.5-installed CPPFLAGS=-static LDFLAGS=-static
命令中的目录 /e/gsl-2.5-installed 是指定的安装目录, 编译成功後的包含文件和库文件等就会被放到这个目录下
4.编译
4.1 预编译
执行步骤3确定的静态预编译命令进行编译前的检查、预处理并生成makefile
没有报错退出就继续下一步
4.2 编译
执行 make 命令开始编译,编译的时间会稍微长一些
没有报错退出就继续下一步
4.3 安装
执行 make install 安装
执行完成 make install 後目录 E:\gsl-2.5-installed 中的内容如截图所示
这样就完成了 GNU Scientific Library(GSL) 在 windows10 下的静态编译
5.编程测试
参考了GSL的官方资料,这里给出了一段c++示例代码
参考的官方资料网址是
http://www.gnu.org/software/gsl/doc/html/usage.html
5.1 示例代码
gsltest.cpp
#include <iostream>
#include <gsl/gsl_sf_bessel.h>
using namespace std;
int main(int argc, char** argv) {
double x = 5.0;
double y = gsl_sf_bessel_J0 (x);
cout<<"J0("<<x<<") = "<<y<<endl;
return 0;
}
这段代码求解的是 x=5 时的贝塞尔方程的值,展示了GSL库的使用,
5.2 编译命令
g++ -I"/e/gsl-2.5-installed/include" -static -c -o gsltest.o gsltest.cpp
5.3 连接命令
g++ -L"/e/gsl-2.5-installed/lib" gsltest.o -static -lgsl -lgslcblas -lm -o gsltest.exe
5.4 运行结果
打开windows10的cmd窗口运行,截图如下
6.GSL库分享
本次所编译的 gsl-2.5-installed 可以到下面的地址去下载
链接:https://pan.baidu.com/s/19vHkujYt9B0WKLHHobxlpg 密码:pfaz