VS2013环境下配置gsl1.8及常见问题

本文档提供了GNU Scientific Library (GSL)的详细安装步骤,包括下载、配置环境变量及VS2013下的编译流程。同时,介绍了如何在工程中添加必要的库文件、头文件路径以及测试GSL功能的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.     GNU Scientific Library (GSL)是一个开源的科学计算的函数库,里面有大量的数学计算 函数,非常强大:  在http://gnuwin32.sourceforge.net/packages/gsl.htm 页面下载

    Complete package, exceptsources   Setup 以及   Sources      Setup  分别进行安装

2.     在目录D:\Software\gsl\src\gsl\ 1.8\gsl-1.8\VC8 ,用VS2013 打开libgsl.sln 文件,在资源管理器中可以看到如下四个工程:

           

3.     把该工程的四个版本全部编译(重新生成)一遍:(可能有点慢),

 

4.     然后把生成目录默认libgsl  和libgslcblas  两个目录中的 .lib (共八个)文件拷贝到和src 同一级的lib 文件中,.dll 文件(共四个)放到你的环境目录可访问(如system32 )或你的工程文件中

5.     GSL 的环境变量配置如下:

添加目录为:D:\software\gsl\bin;

       

6.     工程属性:

   “包含目录”添加:D:\ software\gsl\include

     “库目录”添加:D:\ software\gsl\lib

     “源目录”添加:D:\ software\gsl\src\gsl\1.8\gsl-1.8

7.     分别在 release下添加:libgsl.lib;libgslcblas.lib  

在debug下添加: libgsl_d.lib;libgslcblas_d.lib

8.     测试:

    在test 工程中添加:

    #include <gsl/gsl_sf_bessel.h>

    Main 最后添加:

    double x = 5.0;

    double y = gsl_sf_bessel_J0 (x);

    printf ("J0(%g) = %.18e\n", x, y);

return 0;

9.     常见问题

error LNK2001: 无法解析的外部符号_gsl_rng_mt19937

或者访问gsl_rng_mt19937时发生access violation错误

解决方法

项目---》属性---》c/c++---》预处理器---》预处理器定义---》添加“GSL_DLL”

下载地址:http://download.csdn.net/detail/diyoosjtu/5164893,http://download.csdn.net/detail/diyoosjtu/5164899 下载 两个exe文件   安装下载的两个文件gsl-1.8.exe和gsl-1.8-src.exe,如安装在:D:\GSL\ 目录下 设置编译环境1)对于VS2010: 1、生成lib文件。发现安装目录lib下并没有libgsl.lib,libgslcblas.lib这两个文件,倒是有两个扩展名为def和a(linux下库文件包格式)的文件,因此必须进行转换。 开始菜单,要用VS带的CMD命令行去跑,不能用windows系统下的CMD!!! 进入gsl库的lib目录下依次输入以下两条语句: lib /machine:i386 /def:libgsl.def lib /machine:i386 /def:libgslcblas.def 再看lib目录下,发现有了libgsl.lib,libgslcblas.lib这两个文件。 2、将..\GnuWin32l\bin中的libgsl.dll和libgslcblas.dll复制到D:\Program Files\Microsoft Visual Studio 10.0\VC\Bin;将\include整个Gsl目录复制到D:\Program Files\Microsoft Visual Studio 10.0\VC\include下;\lib目录下的所有.lib文件全部复制到D:\Program Files\Microsoft Visual Studio 10.0\VC\Lib下。 (如果这样添加了其实下面指定的前两个都不需要,因为在系统中已经有了这些文件,但不建议按这种方法指定,这样会使系统VC库中的东西非常混乱,强烈建议使用下面这种指定路径的方法!!) 在Project -> tracking-> Configuration Properties -> C/C++ -> General -> Additional Include Directories 中增加头文件路径。 在Project -> tracking -> Configuration Properties -> C/C++ -> General -> Additional Library Directories 中增加库文件路径。 在Project -> tracking -> Configuration Properties -> Linker -> Input -> Additional Dependencies 中增加所依赖的库文件libgsl.lib和libgslcblas.lib。 若开发的程序以动态连接的方式使用了gsl库,则需要在应用程序入口处,添加: #define GSL_DLL 否则程序会出现运行时错误
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值