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 所在的目录。
  • 编译运行。

【C++】GSL(GNU Scientific Library) 的安装及在 Visual Studio 2017 中的使用的更多相关文章

  1. Visual Studio 2017中如何创建安装打包项目

    从Visual Studio 2012开始,微软就不在环境中自动集成安装打包项目了,如果还想使用,需要手动下载安装,这里以在Visual Studio 2017上安装打包项目为例进行介绍,步骤如下: ...

  2. 在Visual Studio 2017中安装bower

    在项目目录下添加一个文件.bowerrc { "directory": "wwwroot/lib" } JS包默认安装到webroot的lib文件夹,可以通过. ...

  3. (转载)Ubuntu 安装GNU Scientific library(GSL)

    背景: Blei的hlda的C语言实现需要使用C语言的科学计算包GSL,因此决定安装.由于在windows下安装极其繁琐,先在Linux上安装之. 系统环境: Linux version 2.6.35 ...

  4. Ubuntu 安装GNU Scientific library(GSL)

    注: 此系列为自己之前所搭建网站内容. 由于论文数据处理的需要,需要使用libeemd这个包,需要安装gsl科学库,windows下没有办法,只能转战ubuntu进行科学计算. GSL(GNU Sci ...

  5. Visual Stdio 环境下使用 GSL (GNU Scientific Library)

    Visual Stdio 环境下使用 GSL (GNU Scientific Library) 经測试.这里的方法不适用于VS2015. * 这篇文章有点过时了.建议从以下网址下载能够在 vs 环境下 ...

  6. visual studio 2017安装教程以及各类问题解决方案

    文章的关键词和所含教程: VS2017安装/visual studio 2017安装/Xamarin/Android for visual studio 2017/VS2017找不到网站/VS2017 ...

  7. GNU scientific library

    GNU scientific library 是一个强大的C,C++数学库.它涉及的面很广,并且代码效率高,接口丰富.正好最近做的一个项目中用到多元高斯分布,就找到了这个库. GNU scientif ...

  8. GSL 1.15 and 1.16 building with Visual Studio 2010 --FROM 4fire

    http://4fire.wordpress.com/2012/03/18/gsl-1-15-building-with-visual-studio-2010/ Update 05/02/2014: ...

  9. 在Visual Studio 2010中安装iGraph

    本安装步骤参考了:http://www.16kan.com/question/detail/182225.html Igraph actually does work with Visual C++ ...

随机推荐

  1. dotnet core 微服务教程

    这个教程主要是对于第一次使用dotnet core开发的同学. 运行环境是在centos 7 , 使用了docker容器. 即这是一篇运行在linux的docker容器上的微服务的简单应用. 一. 安 ...

  2. 【1】Asp.Net Core2.2从环境配置到应用建立

    作者:Eleven 来源:公众号[软谋net] [前言] .Net Core开源&跨平台,已经肉眼可见将成为.Net平台的未来,在企业招聘需求上已经频频见到,接触到很多公司内部都已经开始尝试C ...

  3. 杭电ACM2019--数列有序!

    数列有序! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submi ...

  4. WebAPI Angularjs 上传文件

    直接上代码 HTML页面代码: <label>资源URL</label> <input type="text" class="form-co ...

  5. .NET开发中基础问题,CODE First AND DB First(大牛自动忽略,小白可以看一下)

    最近在做一个新项目开发时,碰到了下面这个问题.在使用EF时,提示错误信息 To continue using Database First or Model First ensure that the ...

  6. 模板引擎artTemplate的使用

    1.引入template文件 <script src = js/template-native.js></script> 2.写模板 <script type=" ...

  7. datatable的部分问题处理(动态定义列头,给某行添加事件,初始显示空数据)

    一.动态定义列头 在ajax中,用datatable再去重新配置列头,当然传回的数据中,要有对应放列头的键值对 我自定义了Mock数据,用于前端自己交互. 其中,rowdata用于存放传回的数据,co ...

  8. SQL Server数据库漏洞评估了解一下

    SQL Server Management Studio 17.4或更高版本的SSMS中提供了SQL Server漏洞侦测(VA)功能,此功能允许SQL Server扫描您的数据库以查找潜在的安全漏洞 ...

  9. jquery html() callback

    通过JQuery的.html()函数我们可以非常方便地加载一段HTML到指定的元素中,例如给<div></div>中放入一组图片.问题是JQuery的.html()函数是同步的 ...

  10. Runnable和Callable之间的区别

    Runnable和Callable之间的区别 1.Runnable任务执行后没有返回值:Callable任务执行后可以获得返回值 2.Runnable的方法是run(),没有返回值:Callable的 ...