【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++ ...
随机推荐
- [转]Windows10中Virtualbox没办法选择和安装64位的Linux系统
本文转自:https://blog.csdn.net/strivenoend/article/details/78290325 明明在公司的WIN7系统中使用Virtualbox就可以安装64位的Ub ...
- 【译】使用 LINQ 合并 IEnumerable 序列
Zip 方法允许把序列中的元素通过交织将 IEnumerable 序列连接在一起.Zip 是一种基于 IEnumerable 的扩展方法.例如,将具有年龄的名称集合压缩在一起: var names = ...
- Raptor井字棋游戏
作为大学第一个小作品,记录一下,也给那些想接触到Raptor游戏的人一个小小的参考QAQ至于Raptor的语法和使用,可以参考一下他的帮助手册,看不懂英文的话可以复制放到翻译上看. 以上是主函数 以下 ...
- 用JS在html页面实现打印功能
首先在head里面加入下面一段js代码: <script language="javascript"> function preview(oper) { if (ope ...
- [转载]css菜鸟之HTML 中块级元素设置 height:100% 的实现
HTML 中块级元素设置 height:100% 的实现 当你设置一个页面元素的高度(height)为100%时,期望这样元素能撑满整个浏览器窗口的高度,但大多数情况下,这样的做法没有任何效果. 为什 ...
- dedecms织梦上下页标签和CSS
模板中的分页部分源码: <div class="pagination-wrapper" style= "font-size:20pt;color:red;text- ...
- OpenCL中三种内存创建image的效率对比
第一种:使用ION: cl_mem_ion_host_ptr ion_host_ptr1; ion_host_ptr1.ext_host_ptr.allocation_type = CL_MEM_IO ...
- 关于C++11右值引用和移动语义的探究
关于C++11右值引用和移动语义的探究
- 【视频】设计模式(Java)视频讲解
设计模式(JAVA) 视频网址: http://www.qghkt.com/ 设计模式(JAVA)视频地址: https://ke.qq.com/course/318643?tuin=a508ea62 ...
- C#的扩展方法(this)
先在StringLibrary类中定义一个静态方法,如下: public static class StringLibrary { //第一个参数指定该方法作用于哪个类型,并且该参数以 this 修饰 ...