最近用到GSL(GUN Sscientic library),百度了一下,结果挺多,但按照他人方法都无法正确安装,最后在他们基础之上,成功琢磨出方法,完成安装:
1. 下载gsl
从http://gnuwin32.sourceforge.net/packages/gsl.htm 下载“Complete package, except sources”和“Sources”两个exe文件。
2. 安装刚刚下载的两个可执行文件
此步骤不多说,较简单...
3. 配置VS和GSL
在VS的菜单 工具->选项->项目和解决方案->VC++ 目录 里面设置include,bin,lib的文件夹,分别对应gsl的安装目录根目录下的三个文件夹:bin 、include、lib。其中 include就到gsl的 include就行了,不要到include/gsl下面
如图:
然后打开GSL的src文件夹,下面有个VC8文件夹,打开里面的libgsl.sln工程文件并编译(把四种库,debug动态、debug静态、 release动态、release静态全编译了)。
如下图:
然后打开输出文件夹(共四个),把lib文件拷到gsl根目录的lib,把dll拷到system32。
4. 写程序
在每次编译的时候都要设置project属性:项目->属性,
当前配置为Debug,配置属性->连接器->输入。
右边有附加依赖项一栏添加
libgsl_d.lib
libgslcblas_d.lib
libgsl_dll_d.lib
libgslcblas_dll_d.lib
配置属性->C/C++代码生成,右边运行时库改成/MDd
release:
配置属性->连接器->输入。右边有附加依赖项一栏添加
libgsl.lib
libgslcblas.lib
libgsl_dll.lib
libgslcblas_dll.lib
配置属性->C/C++代码生成,右边运行时库改成/MD
注意:若编译是发现
libgsl_d.lib,libgsl_dll_d.lib
libgsl.lib ,libgsl_dll.lib 此四个文件找不到,这在gsl根目录下搜索这四个文件 ,找到之后复制到lib文件夹中
#include <iostream>
#include "gsl/gsl_sf_gamma.h"
using namespace std;
#define GSL_DLL
#pragma comment(lib,"libgsl.lib")
#pragma comment(lib, "libgslcblas.lib")
int main()
{
cout << gsl_sf_gamma_inc( 1.5, 0.5 ) <<endl;
cout << gsl_sf_gamma_inc_Q( 1.5, 0.5 ) << endl;
cout << gsl_sf_gamma_inc_P( 1.5, 0.5 ) << endl;
cin.get();
return 0;
}
希望对大家有用!!