gsl安装的安装及配置

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

双击gsl-1.8.exe文件

选择next

选择接收next

选择安装目录点击next

点击next 产生开始菜单

点击next

点击next

开始安装

安装完成

安装源文件gsl-1.8-src.exe

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

开始菜单,点击运行,输入cmd。

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

lib /machine:i386 /def:libgsl.def

lib /machine:i386 /def:libgslcblas.def

再看lib目录下,发现有了libgsl.lib,libgslcblas.lib这两个文件。

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

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

五、测试Gsl函数库

#define GSL_DLL

#include

#include

#include

#include

#include

#include

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 函数库已经可以使用了。

相关文档
最新文档