最近是在看LDA(Latent Dirichlet Allocation)方面的东西,其中用到了gsl库,用的工具是CodeBlocks,主要是vs2010感觉太大了,
就找了一些文章写怎样在CodeBlocks中使用gsl函数库的文章,其中一篇写的比较清楚:原文的地址在下面
http://hi.baidu.com/ocnzhao/item/2c1f5408d74f50dcdce5b05e
使用控制台,做测试的例子如下:
#include <stdio.h>
#include <gsl_complex_math.h>
#include <gsl_complex.h>
int main (void)
{
double x=5;
double y=10;
gsl_complex z=gsl_complex_rect(x,y);
gsl_complex a,b;
printf("复数z是:\treal %f image:%f\n",z.dat[0],z.dat[1]);
GSL_SET_COMPLEX(&a,3,4);//a=3+4i
GSL_SET_COMPLEX(&b,6,8);//b=6+8i
gsl_complex c = gsl_complex_add(a,b);
printf("a+b\treal : %f image : %f\n",c.dat[0],c.dat[1]);
c = gsl_complex_sub(a,b);
printf("a-b\treal : %f image : %f\n",c.dat[0],c.dat[1]);
c = gsl_complex_mul(a,b);
printf("a*b\treal : %f image : %f\n",c.dat[0],c.dat[1]);
c = gsl_complex_div(a,b);
printf("a/b\treal : %f image : %f\n",c.dat[0],c.dat[1]);
return 0;
}
首先使用code:block的插件DevPak update/install下载Devpak的gsl包,指定路径为”C:\Program Files\CodeBlock\DevPackages\“。新建一个工程:
建好项目之后,粘贴上面的代码到main.cpp中。这是gls库的头文件不在搜索路径之内,需要设置project 的Build option
在Linker settings中加入需要的库,扩展名为".a".
再把gsl的头文件所在目录加入到Search directories中:
编译运行结果:
收工!
如果是ubuntu lucid,安装了gsl包,新建一个工程,然后在bulid ooption中的linker setting标签下添加“gsl”和“gslcblas”即可编译
按照其中的步骤基本上算是最终搞定了配置,当然其中最烦躁的是下载gsl库,找了好长时间,终于找到能用的(因为有好多版本),CodeBlocks自带的那个DevPak update/install插件不能使用,所以还是在网上自己找的。下载链接为:gcc-gsl-1.8
CodeBlocks中集成了好多编译器,首选的(即默认的就是GUN GCC compiler)。
在新建控制台应用程序后,配置该项目的链接库和搜索目录就可以正常使用了
如果用vs2010的情况可参考http://old.blog.edu.cn/user1/3461/archives/2007/1732532.shtml