【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++ ...
随机推荐
- 面试常问的几个排序和查找算法,PHP实现
冒泡,快排,二分查找,都是面试常问的几个算法题目,虽然简单,但是一段时间不用的话就很容易忘记,这里我用PHP实现了一下,温故而知新. 排序 冒泡排序 每一次冒出一个最大的值 function bubb ...
- git status 显示中文乱码
场景 在使用git命令行查看当前 状态时, git status 显示中文文件乱码: 解决 修改git配置, git config --global core.quotepath false
- 第八课 表格 html5学习3
表格用来处理表格式数据的,不是用来布局的. 一.基本语法格式 <table> <tr> 行标签 <td></td> 单元格标签 </tr> ...
- HotSpot jdk 资料汇总
http://www.oracle.com/technetwork/java/index.html https://bugs.java.com/bugdatabase/ https://docs.or ...
- Android ViewPager+Fragment 在Activity中获取Fragment的控件
如果ViewPager+Fragment实现Tab切换,在activity中利用adapter.getItem获取到fragment然后再根据fragment.的方法获取控件 //隐藏求租,以下代码用 ...
- Eclipse 新建jsp文件报错问题
今天在web工程中新建一个index.jsp文件时,发现会报错,记录一下解决办法. 原因:缺少servlet-api.jar包 所以我们先去下载一个jar包,将它引入我们的工程中,即可. 工程右键-& ...
- selenium-自动化用例(十一)
思路 将页面操作与用例case分别封装,编写case时就可以用同一个操作方法对应多个case 如下图: PageGUI:存放页面操作方法,每个页面写一个文件,每个文件中写同一个页面不同的操作,例如检索 ...
- python之控制流
https://www.cnblogs.com/evablogs/p/6691776.html 条件判断 简单if语句 1 2 3 4 5 >>>name='lily' >&g ...
- Python encode和decode
今天在写一个StringIO.write(int)示例时思维那么一发散就拐到了字符集的问题上,顺手搜索一发,除了极少数以外,绝大多数中文博客都解释的惨不忍睹,再鉴于被此问题在oracle的字符集体系中 ...
- Spring JPA 使用@CreatedDate、@CreatedBy、@LastModifiedDate、@LastModifiedBy 自动生成时间和修改者
JPA Audit 在spring jpa中,支持在字段或者方法上进行注解@CreatedDate.@CreatedBy.@LastModifiedDate.@LastModifiedBy,从字面意思 ...