VS2019编译GSL

news/2024/11/9 10:18:12/

VS2019 编译GSL

下载GSL:https://github.com/BrianGladman/gsl,此仓库带有用于编译的VS解决方案。

解压后,在 build.vc 目录下有两个解决方案:

  • gsl.dll.sln 用于编译生成动态库
  • gsl.lib.sln 用于编译生成静态库

请先阅读 build.vc 目录下的说明文档 gsl.readme.txt

以编译静态库为例,介绍编译过程:
使用 Visual Studio 打开 gsl.lib.sln,可以看到四个Solution
在这里插入图片描述
在处理之前,需要修改solution的属性表(选中solution>鼠标右键 >Properties),修改 Platform Toolset (原仓库默认v143,但是我只装了v142,所以需要进行修改)
在这里插入图片描述
根据需要,修改四个solution的Platform Toolset.

参考gsl.readme.txt ,我们需要先生成 gslhdrs 解决方案。这个解决方案的作用是拷贝所有头文件到一个子文件夹 gsl,在生成之前,需要添加当前目录(即加压后的目录)到 include 搜索路径中:
在这里插入图片描述
点击 build > build gslhdrs,等待编译成功,可以在解压目录的 lib 中看到编译结果。

之后,选择 gsllibcblaslib 其中一个进行build(未选中的一个会自动生成),之后生产的静态库输出路径在解压目录下的 lib 目录下:
在这里插入图片描述

静态编译有用的是 cblas.lib, cblas.pdb, gsl.lib, gsl.pdb.

类似的操作处理解决方案 gsl.dll.sln,输出动态库在解压目录的 dll 文件夹下:
在这里插入图片描述

动态编译有用的是 cblas.lib, cblas.pdb, cblas.dll, gsl.lib, gsl.pdb. gsl.dll.

VS2019配置GSL

编译完成后,对生成的库进行整理:

└── gsl271├── dll  解压文件下的 dll├── lib  解压文件下的 lib└── include└── gsl 解压文件下的 gsl

在解决方案的属性表,添加 include 搜索路径和 library 搜索路径:
在这里插入图片描述
添加依赖库:Linker>Input>Additional Dependencies
在这里插入图片描述
如果使用动态库,需要在设置运行环境:Debugging/Environment,添加 PATH=dll所在的路径
在这里插入图片描述
测试代码

#include <stdio.h>
#include <gsl/gsl_math.h>int main() {double x = 1.23;double result = gsl_pow_2(x);printf("The square of %.2f is %.2f\n", x, result);return 0;
}

http://www.ppmy.cn/news/427957.html

相关文章

使用WinDbg分析Windows dump文件方法

需要使用WinDbg工具来分析windows系统产生的dump文件&#xff0c;此工具属于Windows SDK的一个组件&#xff0c;在微软官方网站可以下载&#xff08;链接&#xff09;。 在安装Windows SDK的过程中&#xff0c;可以选择只安装WinDbg&#xff08;Debugging Tools for Windows&a…

我的内网渗透-linux

目录 基础渗透 msfvomen木马生成 开启监听 下载运行木马 会话提升 信息搜集 linux提权 suid粘滞位提权 普通用户修改不了密码原因 利用find进行提权 内核提权&#xff1a;脏牛漏洞 步骤&#xff1a; sudo提权 影响范围 漏洞探测 无文件连接 后门植入 第一种 第二种…

【SpringBoot】SpringBoot Starter 作用及原理

文章目录 前言一、什么是 Starter二、Starter 的作用三、spring 整合组件四、spring-boot 整合组件五、Starter 原理 前言 有没有在入行后直接基于 SpringBoot 开发项目&#xff0c;没有 spring、servlet 开发经历的? 有没有用 SpringBoot 开发项目&#xff0c;但是第一次听…

Java之面向对象

Java之面向对象 一切皆对象。 编译型语言&#xff1a;编译器会将我们编写的源码一次性地编译成计算机可识别的二进制文件&#xff0c;然后计算机直接执行。如c、c等。 解释型语言&#xff1a;在程序运行时&#xff0c;解释器会一行行读取我们的代码&#xff0c;然后实时地将这…

苹果新专利曝光:AirTags可以快速找到Apple Pencil

近日&#xff0c;据外媒报道&#xff0c;苹果一项新专利提出&#xff0c;苹果手写笔可以通过“声学谐振器”来帮助用户找出手写笔的位置。根据这项专利&#xff0c;苹果试图在手写笔的笔盖上加入一个被动元件&#xff0c;以响应特定的声波频率。iPhone、iPad或Apple Watch会发出…

在Windows中,开机自启动

在Windows中&#xff0c;你可以按照以下步骤设置程序的开机自启动&#xff1a; 1 使用快捷键 Win R 打开运行对话框。 2 输入 shell:startup 并点击 确定&#xff0c;这将打开当前用户的启动文件夹。 3在启动文件夹中创建一个程序的快捷方式。可以右键点击文件或程序&#…

搜狗拼音输入法 打不了中文

问题 window10 搜狗拼音输入法打不了中文 解决 无论怎么重装&#xff0c;修复都无效 其实是智能英文被打开了&#xff0c;关闭即可ctrlshifte

Ubuntu拼音打不了中文

前言&#xff1a;在最初安装ubuntu已经选择了中文&#xff0c;但后面拼音输出不了。 点击右上角图标&#xff1a; 点击区域与语言、点击号&#xff1a; 汉语&#xff08;中国&#xff09;->汉语&#xff08;Pinyin&#xff09;->添加&#xff0c;如下所示即可&#xff1…