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.dlllibgslcblas-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. 《C#并发编程经典实例》学习笔记—2.5 等待任意一个任务完成 Task.WhenAny

    问题 执行若干个任务,只需要对其中任意一个的完成进行响应.这主要用于:对一个操作进行多种独立的尝试,只要一个尝试完成,任务就算完成.例如,同时向多个 Web 服务询问股票价格,但是只关心第一个响应的. ...

  2. 程序员50题(JS版本)(九)

    程序41:八进制转换为十进制 var num1=425; var num2=0; num1=num1.toString(); for(var i=num1.length-1,root=1;i>= ...

  3. iframe中的a标签电话链接不能正常打开

    背景 经测试,android手机中没有这个问题, iphone手机中的Safari浏览器会出现这个问题. 例如: <a href = "tel://1-408-555-5555&quo ...

  4. selenium+python自动化测试系列---基础知识篇(1、HTML基础知识1)

    1.什么是HTML HTML是一种描述网页的语言.HTML指超文本标记语言(Hyper Text Markup Language),它不是一种编程语言,而是一种标记语言(markup language ...

  5. C#实现多级子目录Zip压缩解压实例

          参考 https://blog.csdn.net/lki_suidongdong/article/details/20942977 重点: 实现多级子目录的压缩,类似winrar,可以选择 ...

  6. hadoop集群的搭建

    hadoop集群的搭建 1.ubuntu 14.04更换成阿里云源 刚刚开始我选择了nat模式,所有可以连通网络,但是不能ping通,我就是想安装一下mysql,因为安装手动安装mysql太麻烦了,然 ...

  7. 一起学Android之Intent

    本文简述在Android开发中Intent的常见应用,仅供学习分享使用. 什么是Intent? Intent负责对应用中一次操作的动作.动作涉及数据.附加数据进行描述,Android则根据此Inten ...

  8. 为什么CynosDB叫真正的云原生数据库?

    本文由腾讯云数据库发表 注:本文摘自2018年11月22日腾讯云数据库CynosDB新品发布会的演讲实录.随着互联网信息的发展,大家也对云这个词汇也不是特别陌生了,作为全球首选的云服务厂商之一的腾讯云 ...

  9. 关于Http

    摘自:菜鸟教程 HTTP简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(www)服务器传输超文本到本地浏览器的传送协议. HTTP ...

  10. git 同步远程分支

    1. 同步远程分支到本地 git fetch 2. 查看本地分支 git branch *dev //当前分支 master test 3.切换分支 git checkout master // 切换 ...