windows 下dev c++安装gsl的方法

GNU数学函数库gsl在windows下的移植
1.gsl在dev-c++下的移植:
(1)下载gsl-1.8.exe:
 http://gnuwin32.sourceforge.net/packages/gsl.htm
(2)安装gsl,安装后在安装目录下将有如下目录
\contrib\gsl-1.8 一些说明文件
\bin 二进制文件
     libgsl.dll             gsl的动态链接库(基于gcc的正式版本)
     libgsl_d.dll           gsl的动态链接库(基于gcc的调试版本)
     libgslcblas.dll        cblas的动态链接库(基于gcc的正式版本)
     libgslcblas_d.dll      cblas的动态链接库(基于gcc的调试版本)
     gsl-histogram.exe      用于计算数据直方图的程序
     gsl-randist.exe        用于生成服从指定分布数据的程序
\lib 库文件
     libgsl.a                gsl的静态链接库(基于gcc的正式版本)
     libgsl_d.a              gsl的静态链接库(基于gcc的调试版本)
     libgslcblas.a           cblas的静态链接库(基于gcc的正式版本)
     libgslcblas_d.a         cblas的静态链接库(基于gcc的调试版本)
     libgsl_dll.a            libgsl.dll的gcc输入库
     libgsl_d_dll.a          libgsl_d.dll的gcc输入库
     libgslcblas_dll.a       libgslcblas.dll的gcc输入库
     libgslcblas_d_dll.a     libgslcblas_d.dll的gcc输入库
     libgsl.def              输出libgsl.dll的定义
     libgslcblas.def         输出libgslcblas.dll的定义
\doc 有关文档
\info
\man1
\man3
     各种格式的gsl帮助文件
\include\gsl 头文件
     gsl include files
     其中使用到的主要有bin,lib,include\gsl下的文件
 (3)设置dev-c++编译环境,有两种方式:
 一、这种最简单,将gsl安装目录下的bin下libgsl.dll,libgslcblas.dll复制到dev-c++安装目录下的bin目录下;lib下libgsl.a,libgslcblas.a复制到dev-c++安装目录下的lib目录下;include下的整个gsl文件夹复制到dev-c++安装目录下的include目录下。打开dev-c++,工具-编译选项-编译器,选上“在连接器命令行加入如下命令”,加入-lgsl -lgslcblas(即在连接时连上libgsl.a,libgslcblas.a,gcc可以自动识别前缀lib和后缀.a)
  #i nclude <stdio.h>
  #i nclude <gsl/gsl_sf_bessel.h>
int main(void)
  {
    double x = 5.0;
    double y = gsl_sf_bessel_J0(x);
    printf("J0(%g) = %.18en", x, y);
    system("pause");
    return 0;
  }移植
 可以正常运行。
 二、打开dev-c++,工具-编译选项-目录,分别将gsl安装目录下的lib,include加入到库和头文件的路径中。最后,在编译器选项中,选中“在连接器命令行加入如下命令”,加入-lgsl -lgslcblas,即可以正常使用gsl。
—————————————————————-
事实证明第一种方法比第二种可靠:)
Advertisements

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s