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" like

    CodeBlocks

  is deprecated and will be removed from a future version of CMake.  IDEs may
  use 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.更改项目配置

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值