【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#生成随机数的三种方法
随机数的定义为:产生的所有数字毫无关系. 在实际应用中很多地方会用到随机数,比如需要生成唯一的订单号. 在C#中获取随机数有三种方法: 一.Random 类 Random类默认的无参构造函数可以根据当 ...
- WIN10安装不上IIS,使用IISExpress作为发布服务
[背景] 本人开发Win程序,需要调用网站资源作为Win程序的辅助功能,为此需要本地开发环境支持IIS.最近重装系统,VS安装完后,接着再安装IIS,可以在添加删除程序中反复尝试,均告安装失败提示.最 ...
- SpringCloud Alibaba-nacos注册中心
什么是 Nacos?(https://nacos.io) Nacos 致力于帮助您发现.配置和管理微服务.Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现.服务配置.服务元数据及流量 ...
- 纯手写springIOC
大家好啊- 那么今天来带大家写一下spring的ioc. 其实也很简单,首先我们明白两点,java解析xml和java的反射机制,因为ioc就是主要是基于这两个来实现,今天只是简单的来大家实现下. 废 ...
- Nginx系列
包括nginx的入门和进阶学习. 目录 nginx系列1:认识nginx nginx系列2:搭建nginx环境 nginx系列3:搭建一个静态资源web服务器 nginx系列4:日志管理 nginx系 ...
- Android RecyclerView初探
今天研究了一下RecyclerView,RecyclerView比ListView的效率更高而且可以横向滑动,所以现在许多Android项目更倾向与使用RecyclerView. 下面是一个Recyc ...
- Android为TV端助力:intent传递消息
我们都知道一个activity向另外一个activity传递消息可以用intent来传递 现在需求如下,一个不断接收消息服务的service,一个收到消息进行处理的activity service第一 ...
- C# 离线人脸识别 ArcSoft V2.0 Demo
本来打算做个C#版demo,但没用成功.使用虹软最新人脸识别技术开发完成 过程如下: 1. 传入一张单人脸照片: 2.调用检测人脸函数ASFDetectFaces,成功返回人脸信息的指针: 3.使用 ...
- rocketmq广播消息
发布与模式实现.广播就是向一个主题的所有订阅者发送同一条消息. 在发送消息的时候和普通的消息并与不同之处,只是在消费端做一些配置即可. Consumer消息消费 public class Broadc ...
- [20190417]隐含参数_SPIN_COUNT.txt
[20190417]隐含参数_SPIN_COUNT.txt--//在探究latch spin计数之前,先简单探究_SPIN_COUNT.实际上oracle现在版本latch spin的数量不再是200 ...