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)
相关推荐
史迪奇_xxx20 小时前
10、一个简易 vector:C++ 模板与 STL
java·开发语言·c++
我是华为OD~HR~栗栗呀1 天前
华为od-21届考研-C++面经
java·c语言·c++·python·华为od·华为·面试
oioihoii1 天前
C++ 中的类型转换:深入理解 static_cast 与 C风格转换的本质区别
java·c语言·c++
小妖6661 天前
vscode 怎么运行 c++ 文件
开发语言·c++
lingran__1 天前
算法沉淀第三天(统计二进制中1的个数 两个整数二进制位不同个数)
c++·算法
小冯记录编程1 天前
深入解析C++ for循环原理
开发语言·c++·算法
@才华有限公司1 天前
vscode使用翻译插件分享
ide·vscode·编辑器
磨十三1 天前
C++ 容器详解:std::list 与 std::forward_list 深入解析
开发语言·c++·list
今麦郎xdu_1 天前
【Linux系统】命令行参数和环境变量
linux·服务器·c语言·c++
情深不寿3171 天前
C++特殊类的设计
开发语言·c++·单例模式