gsl安装的安装及配置过程

双击gsl-1.8.exe文件

1、生成lib文件。发现安装目录lib下并没有libgsl.lib,libgslcblas.lib这两个文件,倒是有两个扩展名为defa(linux下库文件包格式)的文件,因此必须进行转换。

l -> 开始菜单,点击运行,输入cmd 

进入gsl库的lib目录下依次输入以下两条语句:

 lib /machine:i386 /def:libgsl.def

 lib /machine:i386 /def:libgslcblas.def

{CMD下并不能运行lib.exe,所以必须采用以下的方法解决:(注意路径可能和安装的路径有问题)

在H:\Program Files\Microsoft Visual Studio 8\VC\bin里面有个lib.exe用拿生成lib,但默认是不能运行的,缺少几个文件
把H:\Program Files\Microsoft Visual Studio 8\Common7\IDE 里面的mspdb80.dll,mspdbcore.dll,mspdbsrv.exe,msobj80.dll
复制到上面的bin文件夹里.
把sqlite3.def也复制到BIN里
在CMD 里面运行H:\Program Files\Microsoft Visual Studio 8\VC\bin>LIB /MACHINE:IX86 /DEF:sqlite3
.def
}
再看lib目录下,发现有了libgsl.lib,libgslcblas.lib这两个文件。

 2、将x:\Program Files\GnuWin32l\bin中的libgsl.dlllibgslcblas.dll复制到x:\VC98\Bin;将\include整个Gsl目录复制到x:\VC98\include下;\lib目录下的所有.lib文件全部复制到x:\VC98\Lib下。

3、新建一个工程用于测试,。然后在该项目的projectsettingslink,在object/library modules中加入你用到的库文件,如libgsl.lib libgslcblas.lib,用空格隔开。

五、测试Gsl函数库

#define GSL_DLL
#include <gsl/gsl_spline.h>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <gl/glut.h>
#include <gl/gl.h>
void Display()
{
    glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
    const size_t n = 4;
    double x[] = {0,0.333336,0.666666,1};
    double y[] = {0,0.5,0.9,0};
    gsl_interp* interps[3] = {NULL,NULL,NULL};
    interps[0] = gsl_interp_alloc(gsl_interp_linear,n);
    interps[1] = gsl_interp_alloc(gsl_interp_polynomial,n);
    interps[2] = gsl_interp_alloc(gsl_interp_cspline,n);
    gsl_interp_init(interps[0],x,y,n);
    gsl_interp_init(interps[1],x,y,n);
    gsl_interp_init(interps[2],x,y,n);
    gsl_interp_accel* acc = gsl_interp_accel_alloc();
    glBegin(GL_LINE_STRIP);
        for(double t=0.0; t<=1.025; t+=0.025)
        {
            glColor3f(1,0,0);
            glVertex3f(t,gsl_interp_eval(interps[0],x,y,t,acc),0.0);
        }
    glEnd();
    glBegin(GL_LINE_STRIP);
        for(double t=0.0; t<=1.025; t+=0.025)
        {
            glColor3f(0,1,0);
            glVertex3f(t,gsl_interp_eval(interps[1],x,y,t,acc),0.0);
        }
    glEnd();
    glBegin(GL_LINE_STRIP);
        for(double t=0.0; t<=1.025; t+=0.025)
        {
            glColor3f(0,0,1);
            glVertex3f(t,gsl_interp_eval(interps[2],x,y,t,acc),0.0);
        }
    glEnd();
    gsl_interp_accel_free(acc);
    gsl_interp_free(interps[0]);
    gsl_interp_free(interps[1]);
    gsl_interp_free(interps[2]);
    glutSwapBuffers();
}
int main(int argc, char** argv)
{
    glutInit(&argc,argv);
    glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGBA);
    glutInitWindowSize(512,512);
    glutCreateWindow("GSL Interpolation");
    glutDisplayFunc(Display);
    glClearColor(1,1,1,1);
    glMatrixMode(GL_MODELVIEW);
    glLoadIdentity();
    glTranslatef(-1,-1,0);
    glScalef(2,2,1);
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    glViewport(0,0,512,512);
    glLineWidth(4.0);
    glutMainLoop();
    return 0;
}


运行结果:

说明Gsl函数库已经可以使用了。

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值