天天看点

【C++】GSL(GNU Scientific Library) 的安装及在 Visual Studio 2017 中的使用

GSL 是 GNU 开发并维护的科学计算的库,其中包括:

复数 | 多项式的根

  • | :-: | -:

    特殊函数 | 向量和矩阵

    排列 | 排序

    BLAS支持| 线性代数

    Eigensystems| 快速傅立叶变换

    正交 |随机数

    准随机序列 |随机分布

    统计 |直方图

    N元组 |蒙特卡洛整合

    模拟退火 |微分方程

    插值 |数值微分

    切比雪夫逼近 |系列加速

    离散Hankel变换 |求根

    最小化 |最小二乘拟合

    物理常数 |IEEE浮点

    离散小波变换 |基础样条

    运行统计 |稀疏矩阵与线性代数

使用文档

【GNU Scientific Library】

安装教程

环境:操作系统 Windows 10,IDE:Visual Studio 2017,GSL 版本:2.5

1. 下载GSL

可以在ftp 上下载:ftp://ftp.gnu.org/gnu/gsl/

下载2.5版本的并解压好。

2. 下载 MinGW

MinGW 提供了一个完整的开源编程工具集,且不依赖于任何第三方 C 运行时库。相比 Cygwin 更精简,不提供 POSIX 环境。

它包括:

  • GNU Compiler Collection(GCC),包括C,C ++,ADA 和 Fortran 编译器
  • GNU工具,包括汇编程序,链接程序,归档管理器
  • mingw-get(命令行安装程序),带有可选的GUI前端,用于部署 MinGW 和 MSYS
  • mingw-get-setup(GUI 首次设置工具),让你开始使用mingw-get。

MSYS 是 “Minimal SYStem” 的缩写,是 Bourne Shell 命令行解释器系统。作为微软的 cmd.exe 的替代品,它提供了一个通用的命令行环境,特别适合与 MinGW 一起使用,用于将许多开源应用程序移植到 MS-Windows 平台; 它是 Cygwin-1.3 的轻量级分支,它包含一小部分 Unix 工具。

下载 MinGW 安装程序:https://sourceforge.net/projects/mingw/files/

安装时选上 Basic Setup,然后 Installation->Apply Changes,等待安装完成。接着添加环境变量,默认安装路径是

C:\MinGW

,所以添加上

C:\MinGW\bin

如果之前安装过 MinGW,但没有安装MSYS,则只需安装 MSYS。

3. 安装 GSL

运行

C:\MinGW\msys\1.0\msys.bat

,cd进入到解压好的 gsl 文件夹,例如在

D:/gsl-2.5

cd /d/gsl-2.5/
           

然后执行安装命令:

./configure && make && make install
           

安装好后,会在

C:\MinGW\msys\1.0\local

中多出以下四个目录:

  • bin
  • include
  • lib
  • share

4. 配置Visual Studio 2017中的项目

点击菜单“项目”->“Project 1属性”:

  • 选择“VC++目录”:
    • “包含目录”加上

      C:\MinGW\msys\1.0\local\include

    • “库目录”加上

      C:\MinGW\msys\1.0\local\lib

  • 选择“C/C++”->“预处理器”:
    • “预处理器定义”加上

      WIN32;GSL_DLL;

  • 选择“链接器”->“输入”:
    • “附加依赖项”加上

      libgsl.dll.a;libgslcblas.dll.a

      点“确定”。

5. 编译运行

  • 将之前

    bin

    目录下的

    libgsl-23.dll

    libgslcblas-0.dll

    放到

    Project1\Debug

    目录下,也就是之后 exe 所在的目录。
  • 编译运行。

┆凉┆暖┆降┆等┆幸┆我┆我┆里┆将┆ ┆可┆有┆谦┆戮┆那┆ ┆大┆始┆ ┆然┆

┆薄┆一┆临┆你┆的┆还┆没┆ ┆来┆ ┆是┆来┆逊┆没┆些┆ ┆雁┆终┆ ┆而┆

┆ ┆暖┆ ┆如┆地┆站┆有┆ ┆也┆ ┆我┆ ┆的┆有┆精┆ ┆也┆没┆ ┆你┆

┆ ┆这┆ ┆试┆方┆在┆逃┆ ┆会┆ ┆在┆ ┆清┆来┆准┆ ┆没┆有┆ ┆没┆

┆ ┆生┆ ┆探┆ ┆最┆避┆ ┆在┆ ┆这┆ ┆晨┆ ┆的┆ ┆有┆来┆ ┆有┆

┆ ┆之┆ ┆般┆ ┆不┆ ┆ ┆这┆ ┆里┆ ┆没┆ ┆杀┆ ┆来┆ ┆ ┆来┆

继续阅读