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

news2024/11/28 16:52:57

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

  • No CMAKE_CXX_COMPILER could be found.
  • Could NOT find CUDA (missing: CUDA_NVCC_EXECUTABLE CUDA_CUDART_LIBRARY)
  • Could not find a package configuration file provided by "OpenCV" with any
  • [E] [TRT] 6: [libLoader.cpp::Impl::293] Error Code 6: Internal Error (Unable to load library: libnvinfer_builder_resource.so.8.6.1: libnvinfer_builder_resource.so.8.6.1: cannot open shared object file: No such file or directory)
  • wsl安装cuda11-6
  • error: parameter packs not expanded with ‘...’:
  • Error Code 6: Internal Error (Unable to load library: libnvinfer_builder_resource.so.8.6.1: libnvinfer_builder_resource.so.8.6.1: cannot open shared object file: No such file or directory)

No CMAKE_CXX_COMPILER could be found.

ubuntu编译的时候出现以下报错:

CMake Error at CMakeLists.txt:3 (project):
  No CMAKE_CXX_COMPILER could be found.

  Tell CMake where to find the compiler by setting either the environment
  variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
  to the compiler, or to the compiler name if it is in the PATH.

解决办法如下:

  1. 确保安装了C++编译器:
  • 对于 Windows,你可能需要安装 Visual Studio,并确保选择了 Desktop development with C++ 选项,这样才能安装C++编译器(如 cl.exe)。
  • 对于 Linux 和 macOS,你需要安装 g++ 或者 clang:
    Ubuntu: 你可以通过以下命令安装:
	sudo apt update
	sudo apt install build-essential

安装过程
在这里插入图片描述
重新编译,成功。报cuda错误
在这里插入图片描述

Could NOT find CUDA (missing: CUDA_NVCC_EXECUTABLE CUDA_CUDART_LIBRARY)

  1. 检查环境变量, ls /usr/local/cuda/bin,如果已安装,运行下面的代码,否则会提示没路径
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

然后运行 source ~/.bashrc 使配置生效。再试运行 nvcc --version。

  1. 否则安装CUDA开发包在这里插入代码片
sudo apt-get install nvidia-cuda-toolkit

在这里插入图片描述

Could not find a package configuration file provided by “OpenCV” with any

cmake出现以下报错

CMake Warning at CMakeLists.txt:28 (find_package):
  By not providing "FindOpenCV.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "OpenCV", but
  CMake did not find one.

  Could not find a package configuration file provided by "OpenCV" with any
  of the following names:

    OpenCVConfig.cmake
    opencv-config.cmake

  Add the installation prefix of "OpenCV" to CMAKE_PREFIX_PATH or set
  "OpenCV_DIR" to a directory containing one of the above files.  If "OpenCV"
  provides a separate development package or SDK, be sure it has been
  installed.

输入这个指令

sudo apt-get install libopencv-dev python3-opencv

在这里插入图片描述

[E] [TRT] 6: [libLoader.cpp::Impl::293] Error Code 6: Internal Error (Unable to load library: libnvinfer_builder_resource.so.8.6.1: libnvinfer_builder_resource.so.8.6.1: cannot open shared object file: No such file or directory)

报错原因:缺少tensorrt
下载tensorrt压缩包:https://developer.nvidia.com/downloads/compute/machine-learning/tensorrt/secure/8.6.1/tars/TensorRT-8.6.1.6.Linux.x86_64-gnu.cuda-11.8.tar.gz
在这里插入图片描述

tar -xzvf TensorRT-${version}.Linux.${arch}-gnu.${cuda}.tar.gz
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:"/home/sjh/sjh/TensorRT-8.6.1.6/lib"

wsl安装cuda11-6

在这里插入图片描述

wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.6.0/local_installers/cuda-repo-wsl-ubuntu-11-6-local_11.6.0-1_amd64.deb
sudo dpkg -i cuda-repo-wsl-ubuntu-11-6-local_11.6.0-1_amd64.deb
sudo apt-key add /var/cuda-repo-wsl-ubuntu-11-6-local/7fa2af80.pub
sudo apt-get update
sudo apt-get -y install cuda

error: parameter packs not expanded with ‘…’:

环境:gcc-11、cuda11.6

gcc与cuda不匹配的错误
https://github.com/NVIDIA/nccl/issues/650

我使用的是gcc-11,尝试使用gcc-10

add_definitions(-std=c++11)
add_definitions(-DAPI_EXPORTS)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_BUILD_TYPE Debug)

方法:

  1. 首先测试是否安装gcc-10
gcc-10 --version
g++-10 --version

如果未安装,请使用以下命令进行安装:

sudo apt update
sudo apt install gcc-10 g++-10
  1. 运行以下命令,将 GCC 10 和 G++ 10 设置为系统默认编译器:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-10 100

再次输入:

gcc --version
g++ --version

在这里插入图片描述
3. 再次编译

cmake_minimum_required(VERSION 3.10)

project(yolov8)

set(CMAKE_C_COMPILER "/usr/bin/gcc-10")
set(CMAKE_CXX_COMPILER "/usr/bin/g++-10")

add_definitions(-std=c++11)
add_definitions(-DAPI_EXPORTS)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_BUILD_TYPE Debug)

我这里还是c++11,但发现不影响,最终调用的还是c++10

rm -rf build
mkdir build && cd build
cmake ..
make

编译成功啦!!!
在这里插入图片描述

Error Code 6: Internal Error (Unable to load library: libnvinfer_builder_resource.so.8.6.1: libnvinfer_builder_resource.so.8.6.1: cannot open shared object file: No such file or directory)

Segmentation fault
报错问题:找不到libnvinfer_builder_resource.so.8.6.1
解决方法:

sudo cp /home/sjh/sjh/TensorRT-8.6.1.6/targets/x86_64-linux-gnu/lib/libnvinfer_builder_resource.so.8.6.1 /usr/lib

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【SQL|大数据|数据清洗|过滤】where条件中 “ != “ 和 “ NOT IN() ” 对NULL的处理

对数据进行清洗过滤的时候,NULL往往是一个很特殊的存在,对NULL值的存在通常有以下三种方式 1、保留NULL 2、过滤掉NULL 3、将NULL替换为其他符合业务需求的默认常量 下面是一些常用处理NULL的方式: 如下图所示数据源: car_vin&…

android openGL ES详解——缓冲区VBO/VAO/EBO/FBO

目录 一、缓冲区对象概念 二、分类 三、顶点缓冲区对象VBO 1、概念 2、为什么使用VBO 3、如何使用VBO 生成缓冲区对象 绑定缓冲区对象 输入缓冲区数据 更新缓冲区中的数据 删除缓冲区 4、VBO应用 四、顶点数组对象VAO 1、概念 2、为什么使用VAO 3、如何使用VAO…

ai修复照片工具哪个好?在线将模糊图像变清晰就用它

最近想尝试学习一下复古照片的拍摄风格,一波翻箱倒柜的操作翻出了以前家里拍的照片,却发现有些照片出现了氧化褪色,看不清原本图像的情况。 想看清晰一点的照片却找不到原本的底片,没办法再次冲洗新的相纸出来,该怎么…

Generative AI project lifecycle 生成式人工智能项目的全生命周期

这篇文章,你将学习到开发和部署一个由LLM驱动的应用程序所需的技术。在你将了解一个生成式AI项目的全生命周期,这可以帮助指导你完成这项工作。这个框架映射出了从概念到发布所需的任务。这里有一个整体生命周期的图表。我们将逐个阶段地讨论它。 在任何…

一文说明MySQL索引

最近研究了一下关于MySQL索引方面的面试题,以及可能拓展的问题,与大家分享 索引 在MySQL中,常见的索引类型包括以下几种: 普通索引(INDEX) :这是最基本的索引类型,可以包含一个或多…

基于springboot+vue实现的助学兼职系统(源码+L文+ppt)4-092

基于springbootvue实现的助学兼职系统(源码L文ppt)4-092 第4章 系统设计 4.1 总体功能设计 一般学生、招聘公司和管理者都需要登录才能进入助学兼职系统,使用者登录时会在后台判断使用的权限类型,包括一般使用者和管理者,一般使…

探索 Python 中的 XML 转换利器:xml2dict

文章目录 **探索 Python 中的 XML 转换利器:xml2dict**一、背景介绍二、xml2dict 是什么?三、如何安装 xml2dict?四、基本用法五、实际应用场景六、常见问题及解决方案七、总结 探索 Python 中的 XML 转换利器:xml2dict 一、背景…

构建智能暖箱监控系统:基于C#和WPF的完整指南

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…

鸿蒙前端-1. 层叠效果

代码Stack({alignContent:Alignment.Center}){ Item1() Item2() Item3()} 默认是居中对齐,后面的Item的优先级比前面的要高。 特点:代码简洁&…

stm32实现esp8266连接到TCP服务器(二)

1.2 连接到TCP Server 1.2.1 使用网络助手,设立TCP服务器 ​ 编辑 1.2.2 连接服务器 ATCIPSTART"TCP","192.168.1.18",8080 //指令,注意双引号逗号都要半角(英文)输入 CONNECT //结果:成功 OK //结果:成功 …

08 实战:色彩空间展示(本程序以视频为主)

程序效果如下: 我在这里讲解RGB和YCbCr的原理: 一、RGB颜色空间 1.1 基本概念 RGB颜色空间是一种最基础和常用的颜色表示方式,它基于人眼感知色彩的三原色原理。RGB分别代表: R(Red):红色G(Green):绿色B(Blue):蓝色通过这三种基本颜色的不同组合,可以产生人眼…

c#编写的各类应用程序、类库的引用(黑白盒)

001 课程简介,C# 语言简介,开发环境准备 (yuque.com)https://www.yuque.com/yuejiangliu/dotnet/timothy-csharp-001 一个Solution里包含多个Project 一、见识 C# 编写的各类应用程序 二、类库的引用(黑/白盒引用) 1、黑盒引用&a…

杨辉三角算法

给定一个非负整数 numRows&#xff0c;生成「杨辉三角」的前 numRows 行。 在「杨辉三角」中&#xff0c;每个数是它左上方和右上方的数的和。 示例 1: 输入: numRows 5 输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]示例 2: 输入: numRows 1 输出: [[1]]提示: 1 <…

2024ideaUI切换和svn与git的切换,svn的安装和配置,idea集成svn ,2024-10-18日

2024-10-18日 2024的UI实在很不舒服&#xff0c;隐藏了很多按键&#xff1b; 第一步&#xff1a; 视图 -》 外观 -》 工具栏选出来&#xff1b; 结果出来&#xff1a; 运行的按键和设置的按钮 第二步 点击设置的按钮&#xff0c;选择最后一个&#xff0c;重启就行 结果 舒服&…

LabVIEW提高开发效率技巧----用户权限控制

在LabVIEW开发中&#xff0c;用户权限控制是一个重要的设计模块&#xff0c;尤其在多用户系统中&#xff0c;它可以确保数据安全并控制不同用户的操作权限。为了实现用户权限控制&#xff0c;可以通过角色与权限管理模块来进行设计和实施。以下将从多个角度详细说明如何在LabVI…

Quarto ppt模板制作与Rstudio git连接

本篇记录下当前ppt演示中比较流行的quarto document使用情况以及Rstudio与git相连接的一些实操。 1 Quarto ppt模板制作 1.1 Quarto简介&#xff08;来自Kimi&#xff09; Quarto 是一个由 RStudio 的母公司 Posit 团队开发的开源科学和技术出版系统&#xff0c;它建立在 Pan…

Vue3 Composition Admin——基于 Vue 3 的现代化后台管理模板

Vue3 Composition Admin,这是一个基于 Vue 3 的现代化后台管理模板,旨在为开发者提供一个高效、灵活的开发基础。借助 Vue 3 的 Composition API,我们构建了一个可扩展的架构,使得代码更加清晰易读,同时提升了开发效率。 本项目集成了丰富的 UI 组件、动态路由管理和权限…

Android OpenGL光照效果

在计算机图形学领域&#xff0c;光照仿真是一个重要的研究领域&#xff0c;它对游戏画面的提升、电影和电视节目中的电脑生成图像&#xff08;CGI&#xff09;等方面产生了显著影响。通过使用不同的光照算法&#xff0c;我们可以改变场景的外观&#xff0c;例如模拟从白天到夜晚…

安装好的 Nginx 增加 nginx-module-vts 模块

目录 1. nginx-module-vts 准备 2.查看已安装的的 nginx 编译参数 3. 重新编译 nginx 添加 nginx-module-vts 模块 4. 验证 1. nginx-module-vts 准备 # 解压 unzip nginx-module-vts-master.zip # 将解压包移动到/usr/local/目录 mv nginx-module-vts-master /usr/local/ …

杭州威雅学校一席谈:企业家精神的传承

威雅一席谈 ABBEYTALK 《威雅一席谈》是杭州威雅学校为促进家校沟通推出的社区交流平台。我们将定期邀请家长代表分享自身经验与观点&#xff0c;通过真诚且深度的交谈探寻教育新契机。 本期一席谈&#xff0c;我们邀请了杭州威雅优秀学生家长Robin王先生。终身学习、工匠精神是…