VS2012和GSL数值计算库配置
来源:互联网 发布:房天下 源码 编辑:程序博客网 时间:2024/04/30 12:35
由于要将自己算法转换成C++版本的在实际中使用,算法中有解非线性方程,向量,矩阵运算等等,C++中可没有这些东东,自己编写,呵呵。最后找来找去,发现有用来数值计算的C库,我们可以下载并且调用相关的库。网上相关的C++库很多,但是比较全面的,既能做线性运算,又能非线性运算,复数运算,一些优化算法,变换方法等等的C库还真不多,GSL是公认的比较好的。其他的库要么只能线性运算,要么就是有各种问题,虽然GSL效率不是最好的,但是还可以用,再说其中包含的计算功能很多,如下表所列:
功能还是很全的,有这个库,在C++下实现算法还是很有利的。好了,废话这么多,接下来说明如何配置这个库,在网上找了诸多资料,说的都不详细,或者就是时间太久了,基本都是在32位XP系统下做的配置,在64位windows7电脑上无法工作也看到有很多网友留言,这个库很难配置成功,基本上没成功使用。接下来我就一步步解释如何配置这个库: (1) 下载在windows下使用的GSL库,地址:
http://gnuwin32.sourceforge.net/packages/gsl.htm
下载如下图片中所示的两个文件:
(Complexpackage, except sources Setup, Sourece Setup)
下载完成后就是安装,这个不必说了,我的安装路径是:D:\Program Files (x86)\GnuWin32
(2)安装完成后,在目录D:\ProgramFiles (x86)\GnuWin32\src\gsl\1.8\gsl-1.8\VC8下找到libgsl.sln文件,然后打开,如下图:在资源管理器中可以看到如下4个项目。
(3)把该工程的四个项目的四个版本,(即上图所示)版本全部编译(重新生成)一遍:(相当于重新生成16遍,可能有点慢),如下图:
(4)然后到该项目对应的生成的lisgsl和libgslcblas文件夹下(在路径D:\ProgramFiles (x86)\GnuWin32\src\gsl\1.8\gsl-1.8\VC8),找对应的Debug-DLL,Debug-StaticLib,Release-DLL,Release-StaticLib,把其中所有的.lib(共8个)和.dll(共4个)文件考出来,其中.lib(共八个)文件拷贝到和src同一级的lib文件中,.dll文件 (共四个)放到你的环境目录可访问(如system32)或你的工程文件中。例如我的lib文件就放入和src同一级的lib文件中了,dll文件我也放入其中了。
接下生成就OK了,现在生成了可以供我们自己电脑使用的dll和 lib库了,接下来配置。
(5)添加环境变量到:
(6)新建一个win32控制台应用程序,在项目属性里面配置:
VC++目录:(按照自己的安装路径添加)
可执行文件:D:\Program Files (x86)\GnuWin32\bin
包含文件:D:\Program Files (x86)\GnuWin32\include
库目录:D:\Program Files (x86)\GnuWin32\lib
源目录:D:\ Program Files (x86)\GnuWin32\src\gsl\1.8\gsl-1.8
连接器----输入----附加依赖项:添加 libgsl.lib;libgslcblas.lib;libgsl_d.lib;libgslcblas_d.lib
OK,现在就配置完成了。我们可以写一个例子来看看了。
由于GSL计算能力好,但是显示计算结果非常不方便,于是有人开发了基于GSL的MYGSL数值计算库,已经都编译好了lib和dll,但是非常不稳定,此外版本还停留在XP系统的版本上,并且是32位的,好久没跟新了,在64位电脑上用会出现莫名的错误,但是他方便之处是计算的结果很容易显示,这个功能还是正常的,因此我们计算的时候调用GSL库,显示结果的时候调用MYGSL库,当然这也需要配置MYGSL库,如何配置?可以看我以前空间里日志,里面有详细介绍,这里就不重复介绍了。
#include <stdio.h>
#include <gsl/gsl_vector.h>
#include <gsl/gsl_complex_math.h>
extern "C"
{
#include <my++/myhead.h>
}
int main(void)
{
gsl_vector_complex*x=gsl_vector_complex_alloc(1);
gsl_complexy=gsl_complex_rect(3,4);
gsl_vector_complex_set(x,0,y);
printline(30);
printComplex(y);
printline(30);
gsl_vector_complex_free(x);
return 0;
}
运行结果如下:这里就是一个简单的例子,定义并且显示一个复数。配置完成后,OK,骚年们,开始编程吧。
- VS2012和GSL数值计算库配置
- VS2012 下配置gsl-1.8库
- 卓越的数值计算库gsl(GNU Scienti…
- 数值计算库gsl(GNU Scientific Library)
- C++科学计算库GSL及其配置
- C++科学计算库GSL及其配置
- Ubuntu GSL科学计算库安装配置
- VS2012配置64bit的GSL
- C++科学计算库-gsl(VC 和 DEV-C++配置)
- 【GSL】GNU Scientific Library 科学计算库VS2010安装配置
- GSL】GNU Scientific Library 科学计算库VS2010安装配置
- windows下的gsl(科学计算库)配置
- C++科学计算库GSL在Windows下的配置
- 关于C/C++的数值计算库GSL在Windows下的应用
- C++科学计算库,gsl
- VS2013配置GSL运算库
- GSL数值积分例子
- GSL数值统计
- 1092. To Buy or Not to Buy (20)
- 寻找最优参数解:最速下降法,牛顿下降法,阻尼牛顿法,拟牛顿法DFP/BFGS
- jstorm
- open和fopen的区别
- MySQL 表操作
- VS2012和GSL数值计算库配置
- LTE中的CQI RI PMI参数
- C#中的数据类型与注释
- 关于ICMP Redirect路由的一个不是bug的bug
- 推荐系统(二) —— 利用用户行为数据 —— 基于领域的算法
- 进程和线程
- python3爬虫问题 POST data should be bytes or an iterable of bytes
- 最大K乘积问题
- 美团点评融资之际与阿里矛盾升级