簡體   English   中英

在 Windows 10 上使用 mingw 的 CMake:檢測 CXX 編譯器 ABI 信息 - 失敗

[英]CMake with mingw on Windows 10: Detecting CXX compiler ABI info - failed

我想使用 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 信息 - 失敗的問題就消失了。

我使用 CMake-GUI 工具找出缺少的工具依賴項。 例如:CMAKE_ADDR2LINE 沒有設置,一旦我將它指向 addr2line.exe 的正確位置,錯誤就解決了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM