【跳坑日记】Jetson 6.2 编译cuda-sample报错:No CMAKE_CUDA_COMPILER could be found

ubuntu中使用cmake编译报错No CMAKE_CXX_COMPILER could be found.的解决方法 阅读详情

前情提要

在刷完 JetPack 6.2 之后,想要验证CUDA是否可以正常使用,本文采用NVIDIA官方cuda-sample项目来验证效果,结果运行时报出No CMAKE_CUDA_COMPILER could be found错误,本文主要着手解决该报错问题。

按照惯例,首先说明报错时运行环境以及对应版本。

环境版本
JetPack6.2
CUDA12.6
CMake3.22.1
硬件设备Jetson AGX Orin 64GB、Jetson Orin NX 16GB

报错过程

首先,英伟达边缘端开发板刷完JetPack 6.2之后,会自带CUDA 12.6 版本(如下图)。

图1:JetPack 6.2 刷机时 CUDA版本截图

若要编译cuda-sample,需要做两件事情,首先在官方github【https://github.com/NVIDIA/cuda-samples】下载源码,用管理员权限拷贝到cuda目录,系统默认地址为【/usr/local/cuda/】或者【/usr/local/cuda-12/】和【/usr/local/cuda-12.6/】都可以,因为前面两个地址都是软连接,指向第三个目录。当然,应该不用拷贝也没事,以上纯属个人习惯以及原来官方默认预设路径。

然后,通过apt安装cmake,我这里以2025年4月14日为截止日期,直接在控制台输入sudo apt install cmake作为编译CUDA样例的版本(即:3.22.1)

此时,万事俱备,可以对示例进行编译。进入cuda-sample目录(我这里要编译deviceQuery,列出设备信息,所以进入【/usr/local/cuda/cuda-samples/Samples/1_Utilities/deviceQuery】目录),命令行输入sudo cmake .,此时,报出如下图错误,也就是如题所示内容。

图2:编译CUDA示例程序报错截图

解决过程

网上搜了挺多资料,有说设置环境变量的,改了当前用户的和系统环境变量(大体思路是指定PATH到cuda的bin目录),无济于事、后来搜到参考链接1的帖子,硕士要设置CUDA值,一开始没明白,一般set的目的就是设置环境变量,后来明白了,其实意思是在当前目录【/usr/local/cuda/cuda-samples/Samples/1_Utilities/deviceQuery】下的CMakeList.txt文件中加入下面这句话。好吧,原谅我对CMake的生疏。确实,我把这句话加到第一行,然后执行就可以正常编译和执行了。

set(CMAKE_CUDA_COMPILER /usr/local/cuda/bin/nvcc)

完整的CMakeLists.txt文件内容如下:

set(CMAKE_CUDA_COMPILER /usr/local/cuda/bin/nvcc)

cmake_minimum_required(VERSION 3.20)

list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../../../cmake/Modules")

project(deviceQuery LANGUAGES C CXX CUDA)

find_package(CUDAToolkit REQUIRED)

set(CMAKE_POSITION_INDEPENDENT_CODE ON)

set(CMAKE_CUDA_ARCHITECTURES 50 52 60 61 70 72 75 80 86 87 89 90 100 101 120)
set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -Wno-deprecated-gpu-targets")
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
    # set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -G")  # enable cuda-gdb (expensive)
endif()

# Include directories and libraries
include_directories(../../../Common)

# Source file
# Add target for deviceQuery
add_executable(deviceQuery deviceQuery.cpp)

target_compile_options(deviceQuery PRIVATE $<$<COMPILE_LANGUAGE:CUDA>:--extended-lambda>)

target_compile_features(deviceQuery PRIVATE cxx_std_17 cuda_std_17)

set_target_properties(deviceQuery PROPERTIES CUDA_SEPARABLE_COMPILATION ON)

target_include_directories(deviceQuery PRIVATE
    ${CUDAToolkit_INCLUDE_DIRS}
)

target_link_libraries(deviceQuery PUBLIC
    CUDA::cudart
)

最终,执行完sudo cmake .和sudo make命令后,我看到了久违的可执行文件【deviceQuery】,然后执行./deviceQuery之后就如愿看到了下图的内容。

图3:查询设备详细信息命令执行结果截图

感谢大神分享。

参考链接

  1. Jetson Orin AGX上的CUDA开发报错:No CMAKE_CUDA_COMPILER could be found.
腾讯音乐 QQ音乐商业化客户端开发工程师:岗位深度解析与面试攻略 腾讯音乐QQ音乐商业化客户端开发工程师岗位要求3年以上Android开发经验,熟练掌握Kotlin/Java及跨端开发技术。核心职责包括QQ音乐客户端功能开发、架构优化、性能提升及技术攻关。岗位要求计算机相关本科以上学历,具备完整项目开发经验,熟悉TCP/IP等网络协议,能独立解决复杂技术问题。面试重点考察项目经验、架构设计、性能优化及新技术研究能力,建议候选人准备具体案例,量化成果,并熟悉Flutter等跨端技术。该职位强调技术深度与产品思维的结合,需展现扎实的编程基础、问题解决能力和团队协作精神。 阅读详情

相关推荐

EB配置输入捕获ICU模块----基于S32K3

基于S32K311芯片,EB配置ICU输入捕获(Emios 和Siul)

weixin_43586400的博客 1772

告别‘No CMAKE_CUDA_COMPILER’:手把手解决Spconv安装中的CUDA/cuDNN版本匹配难题

本文详细解析了Spconv安装过程中常见的‘No CMAKE_CUDA_COMPILER’错误,提供了从环境诊断到版本匹配的完整解决方案。通过检查CUDA/cuDNN版本、验证PyTorch支持以及解决常见报错,帮助开发者高效完成Spconv安装,确保深度学习环境配置无误。

weixin_28688385的博客 382

OpenWrt kmod内核不兼容?手把手教你用脚本强制安装驱动模块(附国内镜像源)

本文详细解决了OpenWrt kmod内核不兼容问题,提供智能脚本强制安装驱动模块的方法,并附有国内镜像源加速配置。通过自动化脚本修改内核MD5校验值,确保kmod包正常安装,同时推荐多个国内镜像源以提升下载速度。

weixin_42549451的博客 540

CMAKE错误:No CMAKE_CUDA_COMPILER could be found.

在使用cmake编译VTK程序过程中,执行cmake命令时,出现如下错误: -- The CUDA compiler identification is unknown CMake Error at CMakeLists.txt:4 (enable_language): No CMAKE_CUDA_COMPILER could be found. Tell CMake where to find the compiler by setting either the environment v...

luckwsm的专栏 2万+

库存管理系统项目部署方案(基于jdk17)

不需要安装到服务器,运维本地安装就行,主要是用来编译前端代码的。构建完成后将dist文件夹复制到服务器内。

程序员诚哥 6359

【C/C++ 性能优化】了解cpu 从而进行C++ 高效编程

在当代软件开发领域,CPU(Central Processing Unit,中央处理器)的性能优化一直是一个核心议题。尤其是对于C++开发者而言,无论是在Linux平台还是其他操作系统中,都需要深刻理解CPU的工作原理以及如何充分利用CPU资源,以确保软件运行的高效性和稳定性。正如计算机科学家Donald Knuth在《计算机程序设计的艺术》中所说:“过早的优化是万恶之源”,然而,这并不意味着我们应该忽视性能优化——相反,我们需要在正确的时间以正确的方式进行优化。

探索C++编程的奥秘,分享深入的技术见解和实践,旨在激发读者创造力与解决问题的思维。 4748

Jetson Orin AGX上的CUDA开发报错:No CMAKE_CUDA_COMPILER could be found.

Jetson Orin AGX上的CUDA开发报错:CMake Error at CMakeLists.txt:3 (project):No CMAKE_CUDA_COMPILER could be found.

weixin_43111445的博客 1621

Power domain 划分该如何下手

假如PD1比PD3更always on的话,我们只需要插入普通buffer即可,因为PD3 on,PD1也肯定是ON,PD1 off,PD3肯定时off,PD1能cover PD3的电源情况,因此使用普通buffer也可,但是处于省电角度,我们还是使用AO buffer;在我们做多power domain时,在切分power domain时,需要谨慎,稍有不慎,就会出现congestion以及timing问题,那问题来了,我们在切分power domain时有什么考究么,今天小编就和大家一起讨论讨论。

芯冰乐 207

报错 The CUDA compiler identification is unknown;No CMAKE_CUDA_COMPILER could be found.

在cmake的编译过程中,可能会报找不到cuda编译器的错误,如下 -- The CUDA compiler identification is unknown CMake Error at CMakeLists.txt:3 (enable_language): No CMAKE_CUDA_COMPILER could be found. Tell CMake where to find the compiler by setting either the environment var.

qq_30841655的博客 1万+

[Python图像处理] 一.图像处理基础知识及OpenCV入门函数

该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门、OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子、图像增强技术、图像分割等,后期结合深度学习研究图像识别、图像分类应用。希望文章对您有所帮助,如果有不足之处,还请海涵~ 同时推荐作者的C++图像系列知识: [数字图像处理] 一.MFC详解显示BMP格式图片 [数字图像处理] 二.MFC单文档分割窗...

杨秀璋的专栏 7万+

【Android Performance】Android CPU调度模式详解:从performance到schedutil的Governor调优指南

本文系统讲解Android/Linux系统中的CPU频率调节策略(Governor),涵盖六大调度模式的底层工作原理:performance(性能优先)、powersave(省电优先)、conservative(保守调频)、ondemand(按需调频)、userspace(手动控制)以及schedutil(调度器驱动)。文中深入拆解每种Governor的调频决策逻辑、上升/下降曲线的差异、适用场景与选型建议,并配以实操命令演示如何查看可用Governor列表、动态切换调度模式以及多Cluster架构下的统一

weixin_44081096的博客 431

CMAKE编译PCL时出现:No CMAKE_CUDA_COMPILER could be found.

注:一定要添加为cmake后的第一个选项,不然没用(本人是如此)添加nvcc的路径即可。

weixin_45261340的博客 1002

姿态传感器/陀螺仪之ICM-42670-P应用原理图设计

ICM-42670-P采用LGA-14封装,尺寸为2.5x3x0.76毫米,工作电压范围为1.71V至3.6V,支持I3CSM、I2C和SPI串行通信接口。其设计目标是提供高精度、低功耗和小型化的解决方案,以满足消费类和工业应用的需求。ICM-42670-P是一款由TDK InvenSense推出的高性能六轴MEMS运动追踪传感器,集成了3轴陀螺仪和3轴加速度计,适用于多种应用场景,包括可穿戴设备、游戏控制器、无人机、AR/VR设备等。

corlin6688的博客 1201

No CMAKE_CUDA_COMPILER could be found.

问题: -- The CXX compiler identification is GNU 5.5.0 -- The CUDA compiler identification is unknown -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX

weixin_39123145的博客 1万+

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Ubuntu编译安装colmap遇到的几个问题以及解决

总体安装过程已经很明白了,写的人很多了,我就不赘述了,可以参考或者其他博客。我主要记录几个我遇到的问题以及解决方法。

BigYouYou 4985

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

解决No CMAKE_CUDA_COMPILER could be found.No CMAKE_CUDA_COMPILER could be found.

解决bug

u010949023的博客 3116

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

ubuntu clion新建cuda工程 No CMAKE_CUDA_COMPILER could be found

笔者电脑系统ubuntu18.04,cuda环境10.2,cudnn7.6.5,环境配置之后clion新建的cuda工程cmake报错:No CMAKE_CUDA_COMPILER could be found。 原因是因为没有找到cuda的编译器,解决很简单,在clion中手动配置cuda路径,详细如图: 在file->setting->build->cmake,在cmake options中写入-DCMAKE_CUDA_COMPILER:PATH=/usr/loc...

ethonyLight的博客 4244

jeston nx No CMAKE_CUDA_COMPILER could be found。

在使用cmake 时候找不到 cuda,因此报错,记录一下解决方法。 报错内容 cmake: /usr/lib/aarch64-linux-gnu/libcurl.so.4: no version information available (required by cmake) -- The C compiler identification is GNU 7.5.0 -- The CXX compiler identification is GNU 7.5.0 -- Check for working

qq_43318374的博客 1223

pcl之解决No CMAKE_CUDA_COMPILER could be found.

测试cuda是否正常安装:nvcc --version: Command 'nvcc' not found, but can be installed with: sudo apt install nvidia-cuda-toolkit

ancy的博客 3176

libtorch cmake 报错The CUDA compiler identification is unknown

-- The CUDA compiler identification is unknown CMake Error at /home/zkst/libtorch/libtorch11.1/share/cmake/Caffe2/public/cuda.cmake:41 (enable_language): No CMAKE_CUDA_COMPILER could be found. Tell CMake where to find the compiler by setting either t.

weixin_41977938的博客 2689

No CMAKE_C_COMPILER could be found 几种原因及解决办法

起初我安装了Windows 8.1 SDK以及Windows 10.0 SDK,之后选择卸载Window 8.1 SDK,再次进行Configure和Generate,成功。该方法我没有验证,因为我没有遇到这样的问题,具体解决见:https://www.zhihu.com/question/53353841。没有编译器自然无法找到编译器,解决方案是:打开 Visual Studio Installer->修改->单个组件,勾选Window 8.1 SDK(或者 Window 10 SDK)。

yygr的博客 7937

No CMAKE_C_COMPILER could be found.可能造成这个问题的其他原因

重装系统后,cmake编译项目出现这个问题,网上能找到的常见解决方法有如下几个: 1.vs安装目录有中文,重新安装vs到非中文目录;但是只要不更改默认安装目录就不会出现这个问题。 2.没有安装win10 sdk,可以官网手动下载安装或者vs安装的时候勾选win10 sdk。 3.然后就是vs默认语言设置成中文 但是我的系统环境本来就没有上面的问题,却还是提示同样的问题;最后找到的原因是 win10 sdk的版本号低于系统的版本号。解决办法就是打开 vs安装修改程序,点击组件,取消勾选(卸载)低版本号

2228

Jetson Orin Trt: No CMAKE_CUDA_COMPILER could be found

把路径/usr/local/cuda-11.4/bin/nvcc 添加到 CmakeGUI 这一栏 CMAKE_CUDA_COMPILER

wishchinYang的专栏 213
上一篇: 【跳坑日记-成功解决】docker使用GPU报错:could not select device driver ““ with capabilities: [[gpu]]
下一篇: 【产品调研】运动生物力学软件工具对比
黑符石
博客等级 码龄10年 489粉丝 44原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑符石

感谢小主对原创的大力支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值