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文库

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【QT 5 +Linux下软件qt软件打包+qt生成软件创建可以安装压缩包+学习他人文章+第三篇:学习打包】

【QT 5 Linux下软件qt软件打包qt生成软件创建可以安装压缩包学习他人文章第三篇:学习打包】 1、前言2、实验环境3、自我学习总结-本篇总结(1)了解安装包的目录结构(2)了解要编写文件与编写脚本1. control文件2. postin…

一封来自 DatenLord 关于GSoC 2024的挑战书

Google Summer of Code 是一项全球性的在线计划,致力于将新的contributor引入开源软件开发领域。GSoC 参与者在导师的指导下,与开源组织合作开展为期 12 周以上的编程项目。今年,达坦科技入选作为开源社区组织,携CNCF Sandbox项目…

比亚迪领航新能源时代:汉唐传承,品牌力量

比亚迪,以中国文化的深度与自信,为新能源汽车领域注入强大动力。汉唐车型,不仅承载着中国古代文明的辉煌,更以其创新技术和环保理念,终结油电之争,让燃油车再次破防。作为销量冠军,比亚迪品牌的…

中间件-Nginx加固(控制超时时间限制客户端下载速度并发连接数)

中间件-Nginx加固(控制超时时间&限制客户端下载速度&并发连接数) 1.1 Nginx 控制超时时间配置1.2 Nginx 限制客户端下载速度&并发连接数 💖The Begin💖点点关注,收藏不迷路💖 1.1 Nginx 控制超…

SD NAND:为车载显示器注入智能与安全的心脏

SD NAND 在车载显示器的应用 在车载显示器上,SD NAND(Secure Digital NAND)可以有多种应用,其中一些可能包括: 导航数据存储: SD NAND 可以用于存储地图数据、导航软件以及车载系统的相关信息。这有助于提…

自主研发!军事医学研究院团队提出 MIDAS,可用于单细胞多组学数据马赛克整合

众所周知,细胞是生命体的最小组成单位,人体内含有 40-60 万亿个细胞,构成了我们生长、发育的基础,在单细胞层面开展研究对于精确理解细胞的生长发育以及疾病的诊断与治疗至关重要。 近年来,单细胞测序技术异军突起&am…

请问如何用busctl命令列出会话总线?

在fedora39中启动ipmid时,如果不带输入参数,根据ipmid中的代码,此时注册的是系统总线,可以通过以下命令看到这条总线: $ busctl list | grep xyz xyz.openbmc_project.Ipmi.Host 199524 try2.out logic…

【菜鸟入门!】Matlab零基础快速入门教程

数学建模竞赛中,编程软件是必不可缺少的,比如大家都熟知的MATLAB多数同学们都会经常用到,今天给大家介绍一些MATLAB的基本元素,希望帮助大家更好的掌握编写基本的函数! 变量和数组 MATLAB 程序的基本数据单元是数组。一…

企业微信变更主体怎么改?

企业微信变更主体有什么作用?做过企业运营的小伙伴都知道,很多时候经常会遇到现有的企业需要注销,切换成新的企业进行经营的情况,但是原来企业申请的企业微信上面却积累了很多客户,肯定不能直接丢弃,所以这…

Linux 模拟实现shell【简单实现】

shell的模拟实现 我们知道shell是一个永不退出的程序,所以他应该是一个死循环,并且shell为了防止影响到自己,我们在命令行上输入的所有命令都是由shell的子进程来执行的,所以它应该要有创建子进程的相关函数,当然也会…

MySQL Strict Mode is not set for database connection ‘default‘

在使用 DJango 框架执行迁移文件的命令时,可以看到出现如下警告: (ll_env) D:\workspace\workspace-mengll\learning-log>python manage.py migrate System check identified some issues: WARNINGS: ?: (mysql.W002) MySQL Strict Mode is not set …

springboot232青年公寓服务平台

青年公寓服务平台的设计与实现 摘 要 传统信息的管理大部分依赖于管理人员的手工登记与管理,然而,随着近些年信息技术的迅猛发展,让许多比较老套的信息管理模式进行了更新迭代,房屋信息因为其管理内容繁杂,管理数量繁…

android Service 与 activity 通信 并不断传数据

注:这只是个Demo 以下载为案例,实现开启下载,暂停下载,下载进度不断发送给activity class DownloadService : Service() {override fun onBind(intent: Intent?): IBinder? {return MyBinder()}inner class MyBinder : Binder…

IDEA中的Structure模块使用详解

IDEA中的Structure模块使用详解 类方法的展示 从左往右介绍: 1、最开头的 m 标识是表示为方法,如出现 f 标识则表示为属性; 2、m后面跟着的是方法或者属性的访问修饰符: #红色关闭的锁表示为private; #圆圈表示不带…

postman切换成黑色主题

postman安装以后默认是白色背景,如果想要切换成黑色的,大家可以按照下图箭头指示来操作。 1打开设置 2在Themes页面选择黑色主题

VR危险环境模拟介绍|VR虚拟现实设备

VR危险环境模拟是指利用虚拟现实技术来模拟和展现各种危险环境,以便训练人员应对紧急情况、提高安全意识和应急反应能力。这种模拟可以涉及到工业、医疗、紧急救援等多个领域,旨在帮助人们在真实环境中面对危险时能够做出正确的应对和决策。 VR危险环境…

LeetCode # 206. 反转链表

206. 反转链表 题目 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1: 输入:head [1,2,3,4,5] 输出:[5,4,3,2,1] 示例 2: 输入:head [1,2] 输出:[2,1] 示例…

深度学习 精选笔记(2)自动求导与概率

学习参考: 动手学深度学习2.0Deep-Learning-with-TensorFlow-bookpytorchlightning ①如有冒犯、请联系侵删。 ②已写完的笔记文章会不定时一直修订修改(删、改、增),以达到集多方教程的精华于一文的目的。 ③非常推荐上面(学习参考&#x…

国际数字影像产业园迎来多家企业,数字产业再添“生力军”!

龙年开年,树莓集团总部国际数字影像产业园迎来12家企业,为成都数字产业再添强军。初春2月,也为园区冲刺首季度“开门红”按下“快进键”。 一、正式落地 期待企业更大规模发展 紫荆国际教育集团成立四川东方紫荆教育咨询有限公司&#xff0c…

FCU2601嵌入式控制单元获得开普「电磁兼容检验证书」

近日,飞凌嵌入式专为锂电池储能行业设计的FCU2601嵌入式控制单元获得了开普电磁兼容检验证书,此次性能检验项目包括高频干扰检验、静电放电干扰检验、辐射电磁场干扰检验、快速瞬变脉冲群干扰检验、浪涌干扰检验、工频磁场干扰检验、阻尼振荡磁场干扰检验…