CMake Error:check_source_compiles: CXX: needs to be enabled before use.已解决

在windows中使用安装的msys2-x86_64-20240113.exe下的C:/msys64/mingw64/bin/中的g++.exe和gcc.exe出现标题中报错

经搜索有类似错误:

bash 复制代码
CMake Error at /usr/share/cmake/Modules/Internal/CheckFlagCommonConfig.cmake:58 (message):
  check_compiler_flag: C: needs to be enabled before use.

有提示解决办法

You should either check if C is enabled in the CMakeLists.txt here before using check_c_compiler_flag , of just enable C with project("bitpit" C CXX) at the top of the file.

也即在根CMakeLists.txt文件中的project中的工程名后添加C、CXX,分别对应C、C++编译器

project(Test)修改为project(Test C CXX)

且应添加各指定编译器设置:

复制代码
set(CMAKE_AR  C:/msys64/mingw64/bin/ar.exe)
set(CMAKE_C_COMPILER  C:/msys64/mingw64/bin/gcc.exe)
set(CMAKE_CXX_COMPILER  C:/msys64/mingw64/bin/g++.exe)
相关推荐
2301_763472588 小时前
实时系统下的C++编程
开发语言·c++·算法
阿猿收手吧!8 小时前
【C++】深入理解C++ Atomic内存序:解决什么问题?怎么用?
开发语言·c++
小黄人软件8 小时前
【MFC】底层类显示消息到多个界面上。 MFC + 线程 + 回调 的标准模板 C++函数指针
c++·mfc
兩尛8 小时前
c++遍历容器(vector、list、set、map
开发语言·c++
2301_790300968 小时前
C++与Docker集成开发
开发语言·c++·算法
AutumnorLiuu8 小时前
C++并发编程学习(二)—— 线程所有权和管控
java·c++·学习
一切尽在,你来8 小时前
C++ 零基础教程 - 第 5 讲 变量和数据类型
开发语言·c++
王老师青少年编程9 小时前
2022信奥赛C++提高组csp-s复赛真题及题解:假期计划
c++·真题·csp·信奥赛·csp-s·提高组·假期计划
阿猿收手吧!9 小时前
【C++】constexpr动态内存与双模式革命
开发语言·c++
云深处@9 小时前
【C++】哈希表
开发语言·c++