在Visual C++ 2005中使用 GNU Scientific Library

        最近要写一个类似于SPSS的统计学软件,需要用到很多数学函数和公式,顿时感觉头痛。上网无意中发现了GNU的开源的PSPP(GNU那帮大神们为了抵制SPSS的商业化闭源而做的和SPSS几乎功能完全一样的软件,连起的名字都相反。),发现它调用的是GNU Scientific Library库。上网搜了下发现这个库相当强大。于是准备用Visual C++ 2005来调用这个库函数来解决数学公式的问题。

         1.下载安装GNU Scientific Library:

        首先要到http://gnuwin32.sourceforge.net/packages/gsl.htm(这个网站一直打不开,但使用国外的代理可以打开)上下载“Complete package, except sources"和”Sources“这两个安装文件,下载下来是gsl-1.8.exe和gsl-1.8-src.exe,当然也可以下载后面的压缩包来选择其他安装方式。

        运行gsl-1.8.exe和gsl-1.8-src.exe,选择安装路径。我的选择是D:\Program Files\GnuWin32。

        2.在VS2005中配置GNU Scientific Library

       首先要生成lib文件。在安装目录文件夹lib下并没有libgsl.lib,libgslcblas.lib这两个文件,只有两个扩展名为def和a(linux下库文件包格式)的文件,所以要转换成lib格式文件,使用菜单中的Visual Studio Tools下的命令程序去转换libgsl.def和libgslcblas.def(网上不推荐使用XP系统自带的CMD命令程序)。

进入gsl库的lib目录下依次输入以下两条语句:
    lib /machine:i386 /def:libgsl.def
    lib /machine:i386 /def:libgslcblas.def

再看lib目录下,发现有了libgsl.lib,libgslcblas.lib这两个文件。

打开VS2005,在工具——>选项——>项目和解决方案——>VC++目录中:

     右边的列表框中:

    在下拉菜单”可执行文件“的目录中,将安装文件的bin文件夹绝对路径添加上去;


    在下拉菜单”包含文件“的目录中,将安装文件的include文件夹绝对路径添加上去;


    在下拉菜单”库文件“的目录中,将安装文件的lib文件夹绝对路径添加上去;

    最后,将安装文件夹下的bin目录中libgsl.dll和libgslcblas.dll两个文件拷贝至VS2005的安装文件夹下面的\Microsoft Visual Studio 8\VC\bin中去,否则在程序编译时会出现找不到这两个文件的问题。

     注意在新建项目时要在“项目——>属性——>配置属性——>链接器——>输入”中添加libgsl.lib 和libgslcblas.lib。否则编译的链接过程会出现问题。


以上工作完成后,可以用网上的一段程序来测试配置的情况。

#include <iostream>

#include <gsl/gsl_sf.h>

int main()

{

       std::cout << gsl_sf_gamma_inc( 1.5, 0.5 ) << std::endl;

       std::cout << gsl_sf_gamma_inc_Q( 1.5, 0.5 ) << std::endl;

       std::cout << gsl_sf_gamma_inc_P( 1.5, 0.5 ) << std::endl;

       return 0;

}

运行结果:



感谢以下网友所提供的技术帮助:

http://www.cnblogs.com/suda/archive/2012/03/03/2378644.html

http://blog.csdn.net/jyc1228/article/details/4437447


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值