cmake工程导入新电脑环境报错

项目场景:

提示:这里简述项目相关背景:

在一台电脑上运行得很好的cmake工程,导入新电脑环境报错


问题描述

提示:这里描述项目中遇到的问题:

例如:数据传输过程中数据不时出现丢失的情况,偶尔会丢失一部分数据
APP 中接收数据代码:

Running C:\Program Files\CMake\bin\cmake.exe C:/Qtcode/Ffmpeg/FFmpegPlay "-GCodeBlocks - NMake Makefiles JOM" in C:\Users\gh\AppData\Local\Temp\QtCreator-HkOhPP\qtc-cmake-fKKYhkur.
CMake Deprecation Warning:Support for "Extra Generators" likeCodeBlocksis deprecated and will be removed from a future version of CMake.  IDEs mayuse the cmake-file-api(7) to view CMake-generated project build trees.-- Configuring done (0.1s)
CMake Error in CMakeLists.txt:No known features for CXX compiler"MSVC"version 19.16.27051.0.CMake Generate step failed.  Build files cannot be regenerated correctly.
CMake process exited with exit code 1.

原因分析:

提示:这里填写问题的分析:

CMake Error in CMakeLists.txt:No known features for CXX compiler"MSVC"version 19.16.27051.0.

找不到编译器

找了一下cmake 文件

cmake_minimum_required(VERSION 3.25)set(project_name "Play")#project(test_cmake4 LANGUAGES CXX)
#project(${project_name} LANGUAGES CXX CUDA)
project(${project_name} LANGUAGES CXX)set(CMAKE_INCLUDE_CURRENT_DIR ON)set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)#set(WIN32_EXECUTABLE ON)set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)set(CMAKE_PREFIX_PATH "C:/Qt/Qt5.14.2/5.14.2/msvc2017_64")set(DEBUG_SUFFIX)
if (MSVC AND CMAKE_BUILD_TYPE MATCHES "Debug")set(DEBUG_SUFFIX "d")
endif ()set(FFMPEG_PREFIX_PATH "C:/ffmpeg6.0")
set(OpenCV_DIR "C:/opencv4.5.4/opencv/build/x64/vc15/lib")

project(${project_name} LANGUAGES CXX CUDA) 解释

当你使用 project(${project_name} LANGUAGES CXX) 这条CMake指令时,你正在定义一个CMake项目,并指定该项目将使用C++(CXX)作为主要的编程语言。

这条指令告诉CMake:

  1. 项目的名称是 ${project_name},其中 ${project_name} 是一个CMake变量,通常在使用该指令之前已被定义。
  2. 该项目将使用C++作为编程语言,这意味着CMake将自动配置适当的编译器和编译标志来编译C++源文件。

下面是一个简单的CMakeLists.txt文件的例子,其中使用了这条指令:

cmake_minimum_required(VERSION 3.10)# 定义项目名称
set(project_name MyProject)# 定义项目并指定C++作为编程语言
project(${project_name} LANGUAGES CXX)# 添加源文件并指定生成的可执行文件
add_executable(${project_name} main.cpp)

在这个例子中,我们首先指定了CMake的最低版本要求(cmake_minimum_required),然后定义了一个变量 project_name 来存储项目的名称。接下来,我们使用 project 指令定义了项目,并指定了C++作为编程语言。最后,我们使用 add_executable 指令来指定一个C++源文件 main.cpp,并指定生成的可执行文件的名称与项目名称相同。

需要注意的是,如果你打算在项目中使用CUDA,那么你需要将 LANGUAGES 参数修改为 LANGUAGES CXX CUDA,并确保你的系统已经安装了CUDA工具包,并且CMake能够找到它。这样,CMake就能够配置适当的编译器和编译选项来编译C++和CUDA源文件了。

解决方案:

提示:这里填写该问题的具体解决方案:

在这里插入图片描述
更改完路径后一切正常,
在这里插入图片描述

重新运行cmake 问题解决

总结:

  1. 将#project(KaTeX parse error: Expected 'EOF', got '#' at position 41: …CXX CUDA) 修改为 #̲project({project_name} LANGUAGES CXX )

2.更改项目配置

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

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

相关文章

SSH 免密登录,设置好仍然需要密码登录解决方法

说明: ssh秘钥登录设置好了,但是登录的时候依然需要提供密码 查看系统安全日志,定位问题 sudo cat /var/log/auth.log或者 sudo cat /var/log/secure找到下面的信息 Authentication refused: bad ownership or modes...(网上的…

软件需求工程习题

1.(面谈)是需求获取活动中发生的需求工程师和用户间面对面的会见。 2.使用原型法进行需求获取,(演化式)原型必须具有健壮性,代码质量要从一开始就能达到最终系统的要求 3.利用面谈进行需求获取时&#xf…

【iOS逆向与安全】网上gw如何自动登录与签到SM2,SM3,SM4算法加解密

1.下载 app 2.frida 调试 3.抓包查看接口 4.分析加密数据 5.易语言编写代码 1 .开始下载 下载好发现有越狱检测,检测点为: -[AppDelegate isJailBreak]; 于是编写插件xm代码 : %hook AppDelegate- (void)isJailBreak{NSLog("AppDelegate is…

通过 Java 操作 redis -- hash 哈希表基本命令

目录 使用命令 hset,hget 使用命令 hexists 使用命令 hdel 使用命令 hkeys,hvals 使用命令 hmget,hmset 关于 redis hash 哈希表类型的相关命令推荐看Redis - hash 哈希表 要想通过 Java 操作 redis,首先要连接上 redis 服务…

STM32使用ESP01S连接阿里云物联网平台

一、ESP01S烧录MQTT固件准备 首先准备好烧录工具,可以从官网上进行下载。 MQTT固件官网网址:AT固件汇总 | 安信可科技 (ai-thinker.com) 进去后如下图界面,向下翻找找到MQTT固件(1471)下载固件即可。 烧录工具光网地…

Python自动化测试 | 如何使用Robot Framework进行自动化测试?

你还在手动测试?不妨了解一下更高效、准确且简单的测试方法——使用Python的Robot Framework进行自动化测试。 什么是Robot Framework? Robot Framework是一款开源的Python自动化测试框架,它基于关键字驱动的思想,具有易读、易扩…

我是如何免费抵御一个多月的 DDos/CC 攻击的?

今天明月给大家详细分享一下我的博客是如何免费抵御了长达一个多月的 DDos/CC 攻击的,在【现在 DDos/CC 攻击门槛低的可怕!】一文里明月就说过现在 DDos/CC 攻击几乎是没有门槛的,任何一个老鼠屎在群里看到你的博客都可以轻松便捷的发动一次 …

鸿蒙开发接口Ability框架:【AbilityMonitor】

AbilityMonitor AbilityMonitor模块提供匹配满足指定条件的受监视能力对象的方法的能力,最近匹配的能力对象将保存在AbilityMonitor对象中。 说明: 本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起…

【算法练级js+java】重复给定字符n次

题目 Repeats the given string n times.(复制指定的字符串n次) 期望结果 /** * Repeats the given string n times. * * repeat(‘, 3) * // > **’ * * repeat(‘abc’, 2) * // > ‘abcabc’ * * repeat(‘abc’, 0) * // > “” **/ 代码…

【superset】基于MySQL的BI数据分析可视化实战案例(已更新)

1.熟悉、梳理、总结下superset可视化分析实战案例知识体系,一直想探索有效可用的可视化分析方案,大多收费或不好用,这里,借此机会总结、更新下。 2.复杂度高,遇到并解决的问题较多,尝试了很多次。 3.欢迎批评指正,跪谢一键三连! 基于MySQL的BI数据分析可视化实战案例文…

picoCTF-Web Exploitation-Trickster

Description I found a web app that can help process images: PNG images only! 这应该是个上传漏洞了,十几年没用过了,不知道思路是不是一样的,以前的思路是通过上传漏洞想办法上传一个木马,拿到webshell,今天试试看…

[C++核心编程-09]----C++类和对象之继承

🎩 欢迎来到技术探索的奇幻世界👨‍💻 📜 个人主页:一伦明悦-CSDN博客 ✍🏻 作者简介: C软件开发、Python机器学习爱好者 🗣️ 互动与支持:💬评论 &…

迅睿CMS中实现关键词搜索高亮

在迅睿CMS系统中实现关键词搜索高亮是提升用户体验和搜索效果的重要手段。当用户搜索某个关键词时,将搜索结果中的关键词高亮显示,可以帮助用户更快速地定位到所需信息。 关键词高亮的实现 在迅睿CMS中,你可以使用内置的dr_keyword_highlig…

使用npm script运行webpack

npm(Node Package Manager)是 Node.js 的包管理工具,用于安装、发布和管理 Node.js 包。 在安装node的时候,就默认安装了npm。 Npm Script 则是 Npm 内置的一个功能,允许在 package.json 文件里面使用 scripts 字段定…

C#之partial关键字

在C#中,partial关键字用于声明一个类、结构体、接口或方法的分部定义。这意味着可以将一个类或其他类型的定义分成多个部分,这些部分可以在同一个命名空间或程序集中的多个源文件中进行定义。当编译器编译这些部分时,会将它们合并成一个单独的…

机器学习面试篇

如何理解机器学习数据集的概念 数据集是机器学习的基础,它包括了用于训练和测试模型所需的数据。数据集通常以矩阵的形式存在,其中每一行代表一个样本(或实例),每一列代表一个特征(或属性)。…

宝塔Linux面板5.9版本升级新版失败解决方法

下载地址:宝塔Linux面板5.9升级教程 宝塔5.9版本升级最新版宝塔失败,可以参考这份详细教程(不断更新中) 安装要求: Python版本: 2.6/2.7(安装宝塔时会自动安装) 内存:1…

k8s 使用Docker和Containerd对比分析

目录 k8s 使用Docker和Containerd对比分析 互动1:docker build构建的镜像和containerd镜像通用吗? 互动2:k8s1.24之前版本和1.24及1.24之后版本区别? k8s 使用Docker和Containerd对比分析 如果你使用Docker作为K8S容器运行时的…

Spring框架核心:揭秘Java厨房的智能烹饪艺术

前情回顾:Spring框架深度解析:打造你的Java应用梦工厂 六. 实现控制反转 6.1 描述如何在Spring中实现IoC 在Spring Town的厨房里,实现控制反转就像是将食材的采购和准备过程外包给了一个智能系统。这个系统知道每种食材的特性,也…

RabbitMQ(四种使用模式)

文章目录 1.Fanout(广播模式)1.基本介绍2.需求分析3.具体实现1.编写配置类 RabbitMQConfig.java2.编写生产者,发送消息到交换机 MQSender.java3.编写消费者,接受消息 MQReceiver.java4.控制层调用方法,发送信息到交换机…