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)
相关推荐
布丁写代码33 分钟前
GESP C++ 一级 2025年09月真题解析
开发语言·c++·程序人生·学习方法
Java开发追求者1 小时前
vscode导入springboot项目
java·ide·spring boot·vscode
喵个咪2 小时前
Qt 优雅实现线程安全单例模式(模板化 + 自动清理)
c++·后端·qt
欧阳x天3 小时前
C++入门(一)
c++
小张成长计划..3 小时前
【C++】:priority_queue的理解,使用和模拟实现
c++
Dream it possible!3 小时前
LeetCode 面试经典 150_二叉树层次遍历_二叉树的层平均值(82_637_C++_简单)
c++·leetcode·面试·二叉树
云泽8083 小时前
C++ List 容器详解:迭代器失效、排序与高效操作
开发语言·c++·list
xlq223223 小时前
15.list(上)
数据结构·c++·list
Elias不吃糖4 小时前
总结我的小项目里现在用到的Redis
c++·redis·学习
AA陈超5 小时前
使用UnrealEngine引擎,实现鼠标点击移动
c++·笔记·学习·ue5·虚幻引擎