使用msys2在windows10下静态编译GNU Scientific Library(GSL)

关于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

—————— <正文结束> ——————

猜你喜欢

转载自blog.csdn.net/engineer520/article/details/82429554