NVIDIA\CUDA\cudnn安装以及visual studio2022编译安装ceres2.2.0库

一、NVIDIA驱动安装

网址:官方驱动 | NVIDIA

因为本文之后需要visual studio2022进行编译,所以在安装NVIDIA\CUDA\cudnn之前你先得安装visual studio2022

点击NVIDIA控制面板,NVIDIA Control Panel

查看产品家族  

根据产品家族选择驱动,点击搜索

点击下载 

下载之后双击安装,一直下一步就行了,不要随便改变安装路径

二、CUDA安装

网址:CUDA Toolkit Archive | NVIDIA Developer

根据系统信息找到适合自己的CUDA版本 

 

安装的时候确保这个也勾上

win+r打开cmd输入【nvcc -V】查看,如下图表示安装成功! 

三、 cudnn安装

网址:cuDNN Archive | NVIDIA Developer

需要注册英伟达的开发者账号才能下载。一定要注意,cuDNN的版本和CUDA的版本是需要对应的,不然不能用,我是12.3的,所以选择8.9.7版本

下载之后解压 

把这些文件夹全部复制,粘贴到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.3路径下,替换掉该路径下的同名文件,我的CUDA版本为12.3,所以路径的最后是\v12.3,你的版本不一样,这个就会不一样。

到此,NVIDIA\CUDA\cudnn安装完成。

如果你和我是同版本的NVIDIA\CUDA\cudnn,我这里有下载好的

链接:https://pan.baidu.com/s/186kNYlTzDlB0fj-M1XQ-rw 
提取码:wstc 

四、visual studio2022编译安装ceres2.2.0库

1、下载链接:

Eigen:Eigen

ceres-solver:GitHub - ceres-solver/ceres-solver at 2.2.0

gflags:https://github.com/gflags/gflags/tree/v2.2.2

glog:GitHub - google/glog at v0.6.0

suitesparse-metis-for-windows:Release Release of 1.3.1 · jlblancoc/suitesparse-metis-for-windows · GitHub

cmake:cmake官网 

我这里有下载好的:

Ceres-solver、gflags、Eigen、glog、suitesparse、cmake资源-CSDN文库

2、cmake编译

首先安装cmake,安装路径自己选。

找个地方新建文件夹Ceres,之后的编译都在这个文件夹内进行,在该文件夹下面建立Build、Library、Cinclude、CLib、Cdill、source;接着在Build里面建立Eigen_build、Ceres_build、Gflags_build、Glog_build、Suitesparse_build,这些文件夹都是编译位置;在Library里面建立Eigen_lib、Ceres_lib、Gflags_lib、Glog_lib、Suitesparse_lib这些文件夹都是库文件生成位置,最后把源码都解压到source文件夹里。

2.1、gflags编译

打开cmake,找到gflags的源码位置和编译位置

点击configure,写上x64,点击Finish

configure结束之后

 配置,蓝色标注的是修改好的

 

点击Generate,然后点击Open_Project ,打开visual studio2022,点击生成,找到批生成

把ALL_BUILD的Debug|x64和Release|x64以及INSTALL的Debug|x64和Release|x64给点上,最后点击生成,生成结束之后C:\Compiler\ceres\Library\Gflags_lib会有这些文件

 2.2、glog编译

打开cmake,找到glog的源码位置和编译位置

点击configure,写上x64,点击Finish,configure结束之后

 配置,蓝色标注的是修改好的

点击Generate,然后点击Open_Project ,打开visual studio2022,点击生成,找到批生成, 把ALL_BUILD的Debug|x64和Release|x64以及INSTALL的Debug|x64和Release|x64给点上,最后点击生成,生成结束之后C:\Compiler\ceres\Library\Glog_lib会有这些文件

2.3、Eigen编译 

打开cmake,找到gflags的源码位置和编译位置

 点击configure,写上x64,点击Finish,configure结束,这里修改比较容易

 配置,蓝色标注的是修改好的

点击Generate,然后点击Open_Project ,打开visual studio2022,点击生成,找到批生成, 把ALL_BUILD的Debug|x64和Release|x64以及INSTALL的Debug|x64和Release|x64给点上,最后点击生成,生成结束之后C:\Compiler\ceres\Library\Eigen_lib会有这些文件

2.4、suitesparse编译  

打开cmake,找到glog的源码位置和编译位置

 点击configure,写上x64,点击Finish,configure结束 

  配置,蓝色标注的是修改好的

点击Generate,然后点击Open_Project ,打开visual studio2022,点击生成,找到批生成, 把ALL_BUILD的Debug|x64和Release|x64以及INSTALL的Debug|x64和Release|x64给点上,最后点击生成,这只是生成了suitesparse静态库。

接下来要生成动态库

配置,蓝色标注的是修改好的

点击Generate,然后点击Open_Project ,打开visual studio2022,点击生成,找到批生成, 把ALL_BUILD的Debug|x64和Release|x64以及INSTALL的Debug|x64和Release|x64给点上,最后点击生成,这只是生成了suitesparse动态库。 生成结束之后C:\Compiler\ceres\Library\suitesparse_lib会有这些文件

2.5、ceres编译

打开cmake,找到glog的源码位置和编译位置

在configure之前要通过Add Entry增加一些配置:

BLAS_LIBRARIES(FILEPATH):C:\Compiler\ceres\Library\suitesparse_lib\lib64\lapack_blas_windows\libblas.lib

LAPACK_LIBRARIES(FILEPATH):C:\Compiler\ceres\Library\suitesparse_lib\lib64\lapack_blas_windows\liblapack.lib

GLOG(BOOL):选中打勾

SUITESPARSE_CHECK_INCLUDE_DIRS(PATH):C:\Compiler\ceres\Library\suitesparse_lib\include

SUITESPARSE_CHECK_LIBRARY_DIRS(PATH):C:\Compiler\ceres\Library\suitesparse_lib\lib64

Eigen3_DIR(PATH):C:\Compiler\ceres\Library\Eigen_lib\share\eigen3\cmake

gflags_DIR(PATH):C:\Compiler\ceres\Library\Gflags_lib\lib\cmake\gflags

glog_DIR(PATH):C:\Compiler\ceres\Library\Glog_lib\lib\cmake\glog

 点击configure,写上x64,点击Finish,configure结束 

配置,蓝色标注的是修改好的

点击Generate,然后点击Open_Project ,打开visual studio2022,点击生成,找到批生成, 把ALL_BUILD的Debug|x64和Release|x64以及INSTALL的Debug|x64和Release|x64给点上,最后点击生成,生成结束之后C:\Compiler\ceres\Library\Ceres_lib会有这些文件 

2.6、整合 

把C:\Compiler\ceres\Library\Ceres_lib\include的ceres文件夹、C:\Compiler\ceres\Library\Eigen_lib\include\eigen3的Eigen、unsupported文件夹、C:\Compiler\ceres\Library\Gflags_lib\include的gflags文件夹、C:\Compiler\ceres\Library\Glog_lib\include的glog的文件夹、C:\Compiler\ceres\Library\suitesparse_lib\include的suitesparse的文件夹放到C:\Compiler\ceres\Cinclude文件夹里面

把C:\Compiler\ceres\Library\Ceres_lib\lib的以.lib结尾的文件、C:\Compiler\ceres\Library\Gflags_lib\lib的以.lib结尾的文件、C:\Compiler\ceres\Library\Glog_lib\lib的以.lib结尾的文件、C:\Compiler\ceres\Library\suitesparse_lib\lib64的以.lib结尾的文件和lapack_blas_windows文件夹放到C:\Compiler\ceres\CLib文件夹里面

把C:\Compiler\ceres\Library\Ceres_lib\bin的以.dll结尾的文件、C:\Compiler\ceres\Library\Gflags_lib\bin的以.dll结尾的文件、C:\Compiler\ceres\Library\Glog_lib\bin的以.dll结尾的文件、C:\Compiler\ceres\Library\suitesparse_lib\bin的以.dll结尾的文件以及C:\Compiler\ceres\Library\suitesparse_lib\lib64\lapack_blas_windows的以.dll结尾的文件放到C:\Compiler\ceres\Cdll文件夹里面

最后把C:\Compiler\ceres\Cdll加入到你的电脑的环境变量,电脑重启。

2.6、测试

新建一个visual studio2022项目,把C:\Compiler\ceres\Cinclude写入包含目录里,C:\Compiler\ceres\CLib库目录里,附加依赖项ceres.lib、glog.lib、gflags_nothreads.lib(Release版本),glogd.lib、ceres-debug.lib、gflags_nothreads_debug.lib(Debug版本),预处理器定义增加GLOG_NO_ABBREVIATED_SEVERITIES、_CRT_NONSTDC_NO_DEPRECATE这两个,常规里面的C++语言标准、C语言标准都改成17版本。

借用C:\Compiler\ceres\source\ceres-solver-2.2.0\examples里面的helloworld.cc进行运行

结果

已经编译好的文件: visualstudio2022已经编译好的ceres库资源-CSDN文库

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/266381.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

​LeetCode解法汇总2476. 二叉搜索树最近节点查询

目录链接: 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目: GitHub - September26/java-algorithms: 算法题汇总,包含牛客,leetCode,lintCode等网站题目的解法和代码,以及完整的mode类&#…

Mac 制作可引导安装器

Mac 使用U盘或移动固态硬盘制作可引导安装器(以 Monterey 为例) 本教程参考 Apple 官网相关教程 创建可引导 Mac OS 安装器 重新安装 Mac OS 相关名词解释 磁盘分区会将其划分为多个单独的部分,称为分区。分区也称为容器,不同容器…

仓储自动化新解:托盘四向穿梭车驶入智能工厂 智能仓储与产线紧密结合

目前,由于对仓库存储量的要求越来越高,拣选、输送以及出入库频率等要求也越来越高,对此,在物流仓储领域,自动化与智能化控制技术得以快速发展,货架穿梭车在自动库领域的应用越来越广泛。现阶段,…

Windows Docker 部署 SQL Server

部署 SQL Server 打开 Docker Desktop,切换到 Linux 内核。然后在 PowerShell 执行下面命令,即可启动一个 SQL Server 服务,这里安装的是 2022 年版本 docker run -e "ACCEPT_EULAY" -e "MSSQL_SA_PASSWORDSQL123abcABC!&qu…

Sora 原理与技术实战笔记一

b 站视频合集 【AIX组队学习】Sora原理与技术实战:Sora技术路径详解 Sora 技术报告(OpenAI) huggingsd 文生图视频系列的一个开源项目 最强视频生成模型Sora相关技术解析 https://github.com/lichao-sun/SoraReview 惊艳效果: 长…

Cocos游戏开发中的金币落袋效果

引言 Cocos游戏开发中的金币落袋效果 大家好,不知道大家有没有被游戏中的一些小细节打动或吸引。 往往游戏就是通过一些与众不同的细节,去留住玩家。 金币落袋效果正是如此,它比普通的数值变化来得更加形象,给予玩家成就感和满足感。 本文重点给大家介绍一下如何在Coc…

xss高级靶场

一、环境 XSS Game - Ma Spaghet! | PwnFunction 二、开始闯关 第一关 看看代码 试一下直接写 明显进来了为什么不执行看看官方文档吧 你不执行那我就更改单标签去使用呗 ?somebody<img%20src1%20onerror"alert(1)"> 防御&#xff1a; innerText 第二关…

Unity(第二十三部)导航

你可以使用 unity官方提供的 unity导航组件或第三方 unity导航组件&#xff0c;以实现游戏中角色或其他物体的导航。 unity导航组件通常具有多种导航模式&#xff0c;如飞行模式、步行模式、车辆模式等&#xff0c;可以根据不同的需求选择合适的模式。同时&#xff0c;unity导…

Qt项目:网络1

文章目录 项目&#xff1a;网路项目1&#xff1a;主机信息查询1.1 QHostInfo类和QNetworkInterface类1.2 主机信息查询项目实现 项目2&#xff1a;基于HTTP的网络应用程序2.1 项目中用到的函数详解2.2 主要源码 项目&#xff1a;网路 项目1&#xff1a;主机信息查询 使用QHostI…

如何在Windows部署TortoiseSVN客户端并实现公网连接内网VisualSVN服务端

文章目录 前言1. TortoiseSVN 客户端下载安装2. 创建检出文件夹3. 创建与提交文件4. 公网访问测试 前言 TortoiseSVN是一个开源的版本控制系统&#xff0c;它与Apache Subversion&#xff08;SVN&#xff09;集成在一起&#xff0c;提供了一个用户友好的界面&#xff0c;方便用…

CDH6.3.1离线安装

一、从官方文档整体认识CDH 官方文档地址如下&#xff1a; CDH Overview | 6.3.x | Cloudera Documentation CDH是Apache Hadoop和相关项目中最完整、测试最全面、最受欢迎的发行版。CDH提供Hadoop的核心元素、可扩展存储和分布式计算&#xff0c;以及基于Web的用户界面和重…

打造去中心化透明储蓄罐:Solidity智能合约的又一实践

一、案例背景 传统的储蓄罐通常是由个人或家庭使用&#xff0c;用于存放硬币或小额纸币。然而&#xff0c;这样的储蓄罐缺乏透明性&#xff0c;用户无法实时了解储蓄情况&#xff0c;也无法确保资金的安全性。 通过Solidity智能合约&#xff0c;我们可以构建一个去中心化…

C语言-简单实现单片机中的malloc示例

概述 在实际项目中&#xff0c;有些单片机资源紧缺&#xff0c;需要mallloc内存&#xff0c;库又没有自带malloc函数时&#xff0c;此时&#xff0c;就需要手动编写&#xff0c;在此做个笔录。&#xff08;已在项目上使用&#xff09;&#xff0c;还可进入对齐管理机制。 直接…

常用SQL查询方法与实例

目录 SELECT查询 INSERT查询 UPDATE查询 DELETE查询 JOIN查询 GROUP BY查询 HAVING查询 窗口函数 公共表表达式&#xff08;CTEs&#xff09; 递归查询 透视表 分析函数 解透视 条件聚合 日期函数 合并语句 情况语句 常用SQL查询方法有以下几种&#xff1a; S…

C 嵌入式系统设计模式 14:轮询模式

本书的原著为&#xff1a;《Design Patterns for Embedded Systems in C ——An Embedded Software Engineering Toolkit 》&#xff0c;讲解的是嵌入式系统设计模式&#xff0c;是一本不可多得的好书。 本系列描述我对书中内容的理解。本文章描述访问硬件的设计模式之七&…

图像生成地表最强!Playground v2.5技术报告解读重磅来袭!超越SD、DALL·E 3和 Midjourney

文章链接&#xff1a;https://arxiv.org/pdf/2402.17245 模型地址&#xff1a; https://huggingface.co/playgroundai/playground-v2.5-1024px-aesthetic 本文分享了在文本到图像生成模型中实现SOTA美学质量的三个见解。专注于模型改进的三个关键方面&#xff1a;增强色彩和对…

代码异常处理

一、异常格式 错误堆栈信息的格式大致如下&#xff1a; 第一行包含了错误类型&#xff08;Exception或Error&#xff09;和错误描述。 从第二行开始&#xff0c;每一行都表示一个调用栈帧&#xff08;Stack Frame&#xff09;&#xff0c;包含了类名、方法名和代码行号。二、…

单片机独立按键控制LED状态

一、前言 这幅图是按键的抖动与时间的联系 按键抖动&#xff1a;对于机械开关&#xff0c;当机械鮑点断开、闭合时&#xff0c;由于机械触点的弹性作用&#xff0c;一个开关在闭合时不会马上稳定地接通&#xff0c;在断开时也不会一下子断开&#xff0c;所以在开关闭合及断开的…

动态规划|【路径问题】礼物的最大价值(LCR 166.珠宝的最高价值)

目录 题目 题目解析 思路 1.状态表示 2.状态转移方程 3.初始化 4.填表顺序 5.返回值 代码 题目 LCR 166. 珠宝的最高价值 &#xff08;现在leetcode上面是这个题&#xff09;这个题跟下面这个题叙述方式一样&#xff0c;就拿下面这个 题来讲解&#xff09; 题目描述&…

Java配置48-nginx 按照日期生成日志

1. 背景 默认情况下&#xff0c;nginx 的日志会一直输入到 access.log&#xff0c;长时间运行后会导致这个日志文件过大。 2. 方法 修改 nginx.conf map $time_iso8601 $logdate {~^(?<ymd>\d{4}-\d{2}-\d{2}) $ymd;default date-not-found;}access_log logs/acce…