当前位置:首页 » 编程软件 » 编译gsl

编译gsl

发布时间: 2024-02-07 19:50:17

① 如何编译Windows版本的GSL

GSL全名为GNU Scientific Library,是GNU发起的一个科学计算项目,采用C语言编写,可以在C/C++开发中广泛使用。因为是开源项目,在Windows平台下面没有现成的安装文件可供使用,一般需要自己编译这个项目。现在我把自己从网上找的资料和自己编译的经过汇总一下,写成这个教程。­
在Windows平台上编译GSL主要使用MinGW和MSYS这两个工具,
(1)下载安装 MinGW(安装时选择gcc,g++和Make这三项)­
(2)下载铅让纤安装 MSYS­
(3)下载MinGW Utilities 解压复制到MSYS安装目录­
(4)下载解压gsl源码
(5)进入gsl目录,执行命令:­
./configure­

make­
make install­
(6)完成编译之后,在MSYS安装目录下的­
local/bin有编译了的gsl动态库文件libgsl-0.dll libgslcblas-0.dll­
local/lib有编译好了的静态库文件libgsl.a libgsl.dll.a libgslcblas.a libgslcblas.dll.a­
local/include有编程槐仿需要的gsl头文件­
(7)此时你会发现,编译的结果缺少lib文件,现在我们来生成lib文件­
cd /usr/local/bin­
pexports libgsl-0.dll >libgsl-0.def­
pexports libgslcblas-0.dll >libgslcblas-0.def­
这时候就生产了两个def文件­
(8)使用VC6或以上版本的lib命令,生成lib文件,具体如下:­
lib /machine:i386 /def:libgsl-0.def­
lib /machine:i386 /def:libgslcblas-0.def­
(9)动态链接库拷贝到系统的Windows文件夹下面;­
将gsl头文件(local/include里面的gsl目录)拷贝到include文件夹下面;­
lib文件和*.a文件(local/lib下面)放到Lib文件夹下面,­
编译器tools-options-directories添加Lib路径和Include路径­
最后一步就是在滑简VC6的工程设置中的object/library moles里面添加以下内容:­
libgslcblas-0.lib libgsl-0.lib­
至此,整个gsl的移植工作就完成了。­

② 如何学习gnu scientific library 源代码

GNU scientific library 是一个强大的C,C++数学库。它涉及的面很广,并且代码效率高,接口丰富。正好最近做的一个项目中用到多元高斯分布,就找到了这个库。
GNU scientific library下载地址:http://ftpmirror.gnu.org/gsl/
相应说明文档下载地址: http://www.gnu.org/software/gsl/manual/gsl-ref.ps.gz
下载之后,需要进行安装,我使用的系统是ubuntu 12.04 LTS步骤如下:
1, ./configure
2, make
3, make install
这是把库安装在默认路径的方法,这里是 /usr/local/lib
之后需要把/usr/local/lib 这个路径添加到 LD_LIBRARY_PATH:
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
以上就是整个安装步骤,之后就可以在c,c++程序中进行调用了。

编译和调用的时候,也有一些需要注意的地笑大兆方:
编译时需要加上一些后缀:
g++ xxx.cpp -lgsl -lgslcblas -lm
调用时,只需要包含相应模块的头文件即仿尘可(说明文档里面会有提到函数对应的头文件名)
库的头文件都是放在 gsl/目录下的,写的时候,按照下面的写法就行。
#include <gsl/xxx.h>
以上就是本人使用 GNU scientific library 的一些体会。这个库确实很实用,碰租有不少地方值得挖掘。对于要常常在程序中使用到高等数学知识的程序员,是个不可多得的好东西。

③ gsl函数库中的h文件的作用。比如说gsl_block_uint.h,gsl_matrix_ushort.h等等,我qq是405501625.

h文件中放的是变量、函数的声明,只有引用了带有改变量、函数声明的h文件,才能用该变量、函数

④ 在VC中添加其他支持库和头文件的问题

如果都 .h/.lib都设置好了,编译是没有问题派清核的。.dll设置好了连接运行是正颂没有问题的。
(不知道你的GSL包的版本对不对,是不是fow vc 版本的,如果不是,请下载一个vc 版本的)。

一般第三方开发包在VC中使用的时候,需要预定义宏的设置(工程项目设置里面添加)。GSL好像是 GSL_DLL。你搜索一下编译错尘掘误提示的符号名称,看在哪个头文件里面,然后在这个头文件的前面找预定义宏,加到VC工程的项目设置里面

有个GSL的文章,你看看
http://hi..com/yilinghl/blog/item/038ee5241f846f3a8644f9bf.html

热点内容
c语言第一章 发布:2024-11-16 06:49:07 浏览:50
服务器ip黑名单和网站ip黑名单区别 发布:2024-11-16 06:45:56 浏览:887
上传图片命名规则 发布:2024-11-16 06:28:37 浏览:556
qq阅读上传 发布:2024-11-16 06:27:04 浏览:110
鸿蒙系统与安卓区别在哪里 发布:2024-11-16 06:24:59 浏览:123
安卓手机如何更改信息提示音 发布:2024-11-16 06:12:52 浏览:142
我的世界服务器domc 发布:2024-11-16 06:04:54 浏览:854
object类型java 发布:2024-11-16 06:04:46 浏览:477
骑砍2存储 发布:2024-11-16 06:04:04 浏览:179
nas的监控存储 发布:2024-11-16 05:52:53 浏览:316