windows下GSL的配置

2024-01-28 23:38
文章标签 配置 windows gsl

本文主要是介绍windows下GSL的配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!



一、GSL的下载、安装

  下载地址:http://gnuwin32.sourceforge.net/packages/gsl.htm 下载 Complete package, except sources和Sources两个exe文件

  安装从下载的两个文件gsl-1.8.exe和gsl-1.8-src.exe,如我的安装在:D:\GSL\ 目录下:
  

 

二、设置编译环境

(1)对于VS2010:

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

  开始菜单,要用VS带的CMD命令行去跑,不能用windows系统下的CMD!!!

  进入gsl库的lib目录下依次输入以下两条语句:
    lib /machine:i386 /def:libgsl.def
    lib /machine:i386 /def:libgslcblas.def

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

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

(如果这样添加了其实下面指定的前两个都不需要,因为在系统中已经有了这些文件,但不建议按这种方法指定,这样会使系统VC库中的东西非常混乱,强烈建议使用下面这种指定路径的方法!!)

在Project -> tracking-> Configuration Properties -> C/C++ -> General -> Additional Include Directories 中增加头文件路径。

在Project -> tracking -> Configuration Properties -> C/C++ -> General -> Additional Library Directories 中增加库文件路径。

 

在Project -> tracking  -> Configuration Properties -> Linker -> Input -> Additional Dependencies 中增加所依赖的库文件libgsl.lib和libgslcblas.lib。

 

重要tips:需要在c/c++的command line里添加  /D "GSL_DLL"

 (注:Project -> tracking  -> Configuration Properties ->C/C++->Command line)

 

 

(2) 对于VC6:

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

    这里可以直接用windows命令行,在命令行中切换到D:\GSL\GnuWin32\lib

    lib /machine:i386 /def:libgsl.def

    lib /machine:i386 /def:libgslcblas.def

    运行以上命令后再看lib目录下,发现有了libgsl.lib,libgslcblas.lib这两个文件,这就对了,进入下一步。

    将D:\GSL\GnuWin32\bin中的libgsl.dll和libgslcblas.dll复制到..\VC\Bin下;

    将D:\GSL\GnuWin32\include目录下的整个gsl文件夹拷贝到..\VC\include下;

    将D:\GSL\GnuWin32\lib目录下的所有.lib文件全部复制到..\VC98\Lib下。

    新建一个VC6工程用于测试,然后进入项目->属性->连接器->输入,在“附加依赖项”一栏加入库文件 libgsl.lib libgslcblas.lib,用空格隔开,并在

  Project setting->C++->Project Options加入/D "GSL_DLL",并点击OK

 

三、测试用例

复制代码
 1 #include <gsl/gsl_spline.h>
 2 #include <cstdio>
 3 #include <cstdlib>
 4 #include <cmath>
 5 
 6 void Display()
 7 {
 8      const size_t n = 4;
 9      double x[] =  {0,0.333336,0.666666,1};
10      double y[] =  {0,0.5,0.9,0};
11      gsl_interp* interps[3] =  {NULL,NULL,NULL};
12      interps[0] = gsl_interp_alloc(gsl_interp_linear,n);
13      interps[1] = gsl_interp_alloc(gsl_interp_polynomial,n);
14      interps[2] = gsl_interp_alloc(gsl_interp_cspline,n);
15      gsl_interp_init(interps[0],x,y,n);
16      gsl_interp_init(interps[1],x,y,n);
17      gsl_interp_init(interps[2],x,y,n);
18      gsl_interp_accel* acc = gsl_interp_accel_alloc();
19 }
20 
21 int main(int argc, char** argv)
22 
23 {
24      Display();
25      return 0;
26 
27 }

这篇关于windows下GSL的配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/655146

相关文章

Nginx 配置跨域的实现及常见问题解决

《Nginx配置跨域的实现及常见问题解决》本文主要介绍了Nginx配置跨域的实现及常见问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来... 目录1. 跨域1.1 同源策略1.2 跨域资源共享(CORS)2. Nginx 配置跨域的场景2.1

gitlab安装及邮箱配置和常用使用方式

《gitlab安装及邮箱配置和常用使用方式》:本文主要介绍gitlab安装及邮箱配置和常用使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装GitLab2.配置GitLab邮件服务3.GitLab的账号注册邮箱验证及其分组4.gitlab分支和标签的

MySQL MCP 服务器安装配置最佳实践

《MySQLMCP服务器安装配置最佳实践》本文介绍MySQLMCP服务器的安装配置方法,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下... 目录mysql MCP 服务器安装配置指南简介功能特点安装方法数据库配置使用MCP Inspector进行调试开发指

在Windows上使用qemu安装ubuntu24.04服务器的详细指南

《在Windows上使用qemu安装ubuntu24.04服务器的详细指南》本文介绍了在Windows上使用QEMU安装Ubuntu24.04的全流程:安装QEMU、准备ISO镜像、创建虚拟磁盘、配置... 目录1. 安装QEMU环境2. 准备Ubuntu 24.04镜像3. 启动QEMU安装Ubuntu4

Windows下C++使用SQLitede的操作过程

《Windows下C++使用SQLitede的操作过程》本文介绍了Windows下C++使用SQLite的安装配置、CppSQLite库封装优势、核心功能(如数据库连接、事务管理)、跨平台支持及性能优... 目录Windows下C++使用SQLite1、安装2、代码示例CppSQLite:C++轻松操作SQ

Redis Cluster模式配置

《RedisCluster模式配置》:本文主要介绍RedisCluster模式配置,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录分片 一、分片的本质与核心价值二、分片实现方案对比 ‌三、分片算法详解1. ‌范围分片(顺序分片)‌2. ‌哈希分片3. ‌虚

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关

基于Python实现一个Windows Tree命令工具

《基于Python实现一个WindowsTree命令工具》今天想要在Windows平台的CMD命令终端窗口中使用像Linux下的tree命令,打印一下目录结构层级树,然而还真有tree命令,但是发现... 目录引言实现代码使用说明可用选项示例用法功能特点添加到环境变量方法一:创建批处理文件并添加到PATH1

Maven 配置中的 <mirror>绕过 HTTP 阻断机制的方法

《Maven配置中的<mirror>绕过HTTP阻断机制的方法》:本文主要介绍Maven配置中的<mirror>绕过HTTP阻断机制的方法,本文给大家分享问题原因及解决方案,感兴趣的朋友一... 目录一、问题场景:升级 Maven 后构建失败二、解决方案:通过 <mirror> 配置覆盖默认行为1. 配置示

Springboot3+将ID转为JSON字符串的详细配置方案

《Springboot3+将ID转为JSON字符串的详细配置方案》:本文主要介绍纯后端实现Long/BigIntegerID转为JSON字符串的详细配置方案,s基于SpringBoot3+和Spr... 目录1. 添加依赖2. 全局 Jackson 配置3. 精准控制(可选)4. OpenAPI (Spri