【C++】GSL(GNU Scientific Library) 的安装及在 Visual Studio 2017 中的使用
GSL 是 GNU 开发并维护的科学计算的库,其中包括:
| 复数 | 多项式的根 |
|---|---|
| 特殊函数 | 向量和矩阵 |
| 排列 | 排序 |
| BLAS支持 | 线性代数 |
| Eigensystems | 快速傅立叶变换 |
| 正交 | 随机数 |
| 准随机序列 | 随机分布 |
| 统计 | 直方图 |
| N元组 | 蒙特卡洛整合 |
| 模拟退火 | 微分方程 |
| 插值 | 数值微分 |
| 切比雪夫逼近 | 系列加速 |
| 离散Hankel变换 | 求根 |
| 最小化 | 最小二乘拟合 |
| 物理常数 | IEEE浮点 |
| 离散小波变换 | 基础样条 |
| 运行统计 | 稀疏矩阵与线性代数 |
使用文档
安装教程
环境:操作系统 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 中的使用的更多相关文章
- Visual Studio 2017中如何创建安装打包项目
从Visual Studio 2012开始,微软就不在环境中自动集成安装打包项目了,如果还想使用,需要手动下载安装,这里以在Visual Studio 2017上安装打包项目为例进行介绍,步骤如下: ...
- 在Visual Studio 2017中安装bower
在项目目录下添加一个文件.bowerrc { "directory": "wwwroot/lib" } JS包默认安装到webroot的lib文件夹,可以通过. ...
- (转载)Ubuntu 安装GNU Scientific library(GSL)
背景: Blei的hlda的C语言实现需要使用C语言的科学计算包GSL,因此决定安装.由于在windows下安装极其繁琐,先在Linux上安装之. 系统环境: Linux version 2.6.35 ...
- Ubuntu 安装GNU Scientific library(GSL)
注: 此系列为自己之前所搭建网站内容. 由于论文数据处理的需要,需要使用libeemd这个包,需要安装gsl科学库,windows下没有办法,只能转战ubuntu进行科学计算. GSL(GNU Sci ...
- Visual Stdio 环境下使用 GSL (GNU Scientific Library)
Visual Stdio 环境下使用 GSL (GNU Scientific Library) 经測试.这里的方法不适用于VS2015. * 这篇文章有点过时了.建议从以下网址下载能够在 vs 环境下 ...
- visual studio 2017安装教程以及各类问题解决方案
文章的关键词和所含教程: VS2017安装/visual studio 2017安装/Xamarin/Android for visual studio 2017/VS2017找不到网站/VS2017 ...
- GNU scientific library
GNU scientific library 是一个强大的C,C++数学库.它涉及的面很广,并且代码效率高,接口丰富.正好最近做的一个项目中用到多元高斯分布,就找到了这个库. GNU scientif ...
- 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: ...
- 在Visual Studio 2010中安装iGraph
本安装步骤参考了:http://www.16kan.com/question/detail/182225.html Igraph actually does work with Visual C++ ...
随机推荐
- InnoSetup 脚本打包及管理员权限设置
InnoSetup使用教程:InnoSetup打包安装 脚本详细 1. 定义变量 #define MyAppName "TranslationTool" #define MyApp ...
- linux的一些命令,面试经常碰到的
1 查询所有java进程ps -A | grep java解释一下这个命令的意思,ps 是查看系统当前进程的命令,参数 -A(注意,是大写,linux中是区分大小写的)是显示所有程序,| 这个是管道符 ...
- keepalived介绍
keepalived介绍 Keepalived是一个基于VRRP协议来实现的服务高可用方案,可以利用其来避免IP单点故障,类似的工具还有heartbeat.corosync.pacemaker.但是它 ...
- unity transform 常用操作
1.寻找物体 1.1 寻找满足条件的子物体 ` public static Transform FindObj(Transform transform, Func<Transform, bool ...
- es6 proxy代理
es6 新增构造函数 Proxy Proxy 构造函数,可以使用new 去创建,可以往里面插入两个参数,都是对象 let target = {} let handler = {} let proxy ...
- web服务器负载均衡与集群基本概念二
前面已经说过负载均衡的作用是在多个节点之间按照一定的策略(算法)分发网络或计算处理负载.负载均衡可以采用软件和硬件来实现.一般的框架结构可以参考下图. 后台的多个Web节点上面有相同的Web应用 ...
- Android ble蓝牙使用注意
以下均为自己在Android ble开发项目中遇到的问题 1.尽量不要在BluetoothGattCallback里面的回调函数中执行读写通知操作,最多一个,因为例如在onServicesDiscov ...
- lambda 怎么传递ref参数
lambda 传递ref参数有个语法bug,必须要显式书写参数类型. //如 delegate bool FuncType(ref int num); FuncType func1; func1 = ...
- 使用py2exe将python脚本转换成exe可执行文件
Python(wiki en chs)是一门弱类型解释型脚本语言,拥有动态类型系统和垃圾回收功能,支持多种编程范式:面向对象.命令式.函数式和过程式编程. 由于Python拥有一个巨大而广泛的标准库 ...
- JAVA EE获取浏览器和操作系统信息
一.原理说明: 1. 浏览器访问服务端时,Http请求头上会带上客户端一些信息,可通过"user-agent"获取. //java获取方法如下,其他语言也有自己获取方法 Stri ...