c – 在Windows 10上使用mingw进行CMake:检测CXX编译器ABI信息 – 失败

我想使用cmake在 Windows 10上创建MinGW Makefile.我已经安装了mingw,我可以毫无问题地使用mingw32-make和g命令.

测试项目是一个超级简单的CMakeLists.txt文件:

cmake_minimum_required(VERSION 3.10)
project(hello-world)
add_executable(hello-world main.cpp)

和一个简单的main.cpp文件:

#include <iostream>
int main() {
    std::cout << "hello Visual Studio Code! :)" << '\n'; 
    return 0;
}

这些是我用来创建makefile的命令:

>> mkdir build
>> cd build
>> cmake -G "MinGW Makefiles" ..

这是我得到错误的地方:

CMake Error at C:/Program Files (x86)/CMake/share/cmake-3.10/Modules/CMakeDetermineCompilerId.cmake:495 (file):
file STRINGS file
"C:/Projects/test/build/CMakeFiles/3.10.1/CompilerIdCXX/a.exe" cannot be read.

... some more errors in the test files

-- The CXX compiler identification is GNU 6.3.0
-- Check for working C compiler: C:/MinGW/bin/gcc.exe
-- Check for working C compiler: C:/MinGW/bin/gcc.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: C:/MinGW/bin/g++.exe
-- Check for working CXX compiler: C:/MinGW/bin/g++.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - failed
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring incomplete,errors occurred!

这是来自错误日志:

The CXX compiler identification could not be found in "C:/Projects/test/build/CMakeFiles/3.10.1/CompilerIdCXX/a.exe"

什么是CXX编译器ABI信息以及如何检测到有效的CXX编译器,但这会失败?

如果您需要有关设置的更多信息,请告诉我们!

解决方法

结果是我的罪魁祸首是Windows Defender!关闭它和CXX编译器ABI信息 – 失败的问题消失了.

相关文章

一.C语言中的static关键字 在C语言中,static可以用来修饰局...
浅谈C/C++中的指针和数组(二) 前面已经讨论了指针...
浅谈C/C++中的指针和数组(一)指针是C/C++...
从两个例子分析C语言的声明 在读《C专家编程》一书的第三章时...
C语言文件操作解析(一)在讨论C语言文件操作之前,先了解一下...
C语言文件操作解析(三) 在前面已经讨论了文件打开操作,下面...