VS2010配置64bit的GSL

一、下载64bit的gsl:

       https://code.google.com/p/oscats/downloads/detail?name=gsl-1.15-dev-win64.zip&can=2&q=

二、编译lib文件:

在bin文件夹可以得到libgsl-0.dll和libgslcblas-0.dll,lib文件夹中却找不到我们需要的导入库libgsl-0.lib

和libgslcblas-0.lib。我们需要手动生成libgsl-0.lib和libgslcblas-0.lib。

生成.lib文件有两种方法:

1.在MinGW上直接调用 pexports libgsl-0.dll >libgsl-0.def  

参考网页:http://anony3721.blog.163.com/blog/static/51197420124204843451

MingW安装:http://blog.163.com/rs_reland/blog/static/138791295201291611320800/

lib指令:http://www.mingjianhua.com/post/9.html

最好将MingW安装在C盘下,使用msys文件下的msys.bat进行gsl编译,编译时会提示找不到pexports和lib命令,

使用 mingw-get install pexports 安装pexports,lib可以使用VS2010自动的,将VC\binCommon7\IDE添加到PATH中去。

(最好吧杀毒软件和360关闭后在安装MingW)

2.手动生成.lib文件

参考网页:http://blog.sina.com.cn/s/blog_6e0693f70100u2ve.html  

(参考网页中第6步有错误,是lib /machine:AMD64 /def:libgsl-0.def 和 lib /machine:AMD64 /def:libgslcblas-0.def

一定要使用VS带的CMD命令行去运行(Visual Studio x64 Win64 命令提示(2010)),不能用windows系统下的CMD

三、设置VS2010编译环境

1. gsl文件复制到\Microsoft Visual Studio 10.0\VC文件中

将gsl文件夹下\bin中的libgsl-0.dll和libgslcblas-0.dll复制到\Microsoft Visual Studio 10.0\VC\Bin;

gsl文件夹下\include整个gsl目录复制到\Microsoft Visual Studio 10.0\VC\include下;

gsl文件夹下\lib目录下的所有.lib和.a文件全部复制到\Microsoft Visual Studio 10.0\VC\Lib下;

项目 -> 属性-> 连接器 -> 输入 -> 附加依赖项 -> 添加 libgsl-0.lib libgslcblas-0.lib这两个文件

(在系统中已经有了这些文件,就不需要第二步添加路径的操作。但不建议按这种方法指定,这样会使系统

VC库中的东西非常混乱,强烈建议使用下面这种指定路径的方法)

2. 在VS2010中指定gsl所在的include、lib和bin路径

项目->属性->C/C++目录->包含目录->添加gsl头文件路径

(如:D:\gsl-1.15-dev-win64\include)   

项目->属性->C/C++目录->库目录->添加lib文件路径

(如:D:\gsl-1.15-dev-win64\lib)

项目->属性->C/C++目录->可执行文件目录->添加bin文件路径

(如:D:\gsl-1.15-dev-win64\bin

项目->属性->连接器->输入->附加依赖项->添加 libgsl-0.lib libgslcblas-0.lib这两个文件

 四、在项目 ->属性->c/c++的命令行里添加 /D "GSL_DLL" (我的gsl是安装在D盘)

         如果没有这步,编译时会提示: error LNK2001: 无法解析的外部符号 gsl_min_fminimizer_*


注意: VS2010要设置在X64环境中运行,而不是win32。否则不能正常编译。 

以上的配置都是在x64环境中进行的。 



    

你可能感兴趣的:(C++)