【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++ ...
随机推荐
- 《C#并发编程经典实例》学习笔记—2.5 等待任意一个任务完成 Task.WhenAny
问题 执行若干个任务,只需要对其中任意一个的完成进行响应.这主要用于:对一个操作进行多种独立的尝试,只要一个尝试完成,任务就算完成.例如,同时向多个 Web 服务询问股票价格,但是只关心第一个响应的. ...
- 程序员50题(JS版本)(九)
程序41:八进制转换为十进制 var num1=425; var num2=0; num1=num1.toString(); for(var i=num1.length-1,root=1;i>= ...
- iframe中的a标签电话链接不能正常打开
背景 经测试,android手机中没有这个问题, iphone手机中的Safari浏览器会出现这个问题. 例如: <a href = "tel://1-408-555-5555&quo ...
- selenium+python自动化测试系列---基础知识篇(1、HTML基础知识1)
1.什么是HTML HTML是一种描述网页的语言.HTML指超文本标记语言(Hyper Text Markup Language),它不是一种编程语言,而是一种标记语言(markup language ...
- C#实现多级子目录Zip压缩解压实例
参考 https://blog.csdn.net/lki_suidongdong/article/details/20942977 重点: 实现多级子目录的压缩,类似winrar,可以选择 ...
- hadoop集群的搭建
hadoop集群的搭建 1.ubuntu 14.04更换成阿里云源 刚刚开始我选择了nat模式,所有可以连通网络,但是不能ping通,我就是想安装一下mysql,因为安装手动安装mysql太麻烦了,然 ...
- 一起学Android之Intent
本文简述在Android开发中Intent的常见应用,仅供学习分享使用. 什么是Intent? Intent负责对应用中一次操作的动作.动作涉及数据.附加数据进行描述,Android则根据此Inten ...
- 为什么CynosDB叫真正的云原生数据库?
本文由腾讯云数据库发表 注:本文摘自2018年11月22日腾讯云数据库CynosDB新品发布会的演讲实录.随着互联网信息的发展,大家也对云这个词汇也不是特别陌生了,作为全球首选的云服务厂商之一的腾讯云 ...
- 关于Http
摘自:菜鸟教程 HTTP简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(www)服务器传输超文本到本地浏览器的传送协议. HTTP ...
- git 同步远程分支
1. 同步远程分支到本地 git fetch 2. 查看本地分支 git branch *dev //当前分支 master test 3.切换分支 git checkout master // 切换 ...