cmake 命令 CXX 编译器 ABI 信息失败

问题描述 投票:0回答:1

我正在尝试安装 opengl 并运行 cmake 文件,它给出了这些错误。请帮忙看看是什么原因以及如何纠正

-- The CXX compiler identification is Clang 5.0.0
-- The C compiler identification is Clang 5.0.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - failed
ios gcc cmake
1个回答
7
投票

您的操作系统是什么?之所以问这个,是因为我最近遇到了类似的问题:在Windows 10下,我尝试使用Cygwin和CMake编译几个C++项目,但C和C++编译器ABI信息的检测始终失败。

设法通过以下方式解决问题:在Cygwin的根目录中,您可以在路径

usr/share/cmake-3.6.2
下找到CMake的安装文件。 (请注意,自从您多年前提出问题以来,CMake 的版本号在您的系统中可能有所不同。)在 Linux 下,此路径也应该是准确的(或至少是默认的)。

Modules
目录中,您可以找到
CMakeDetermineCompilerABI.cmake
文件,该文件描述了 CMake 如何确定编译器的 ABI 信息。当我向此文件添加几个额外的日志记录语句时,我意识到 CMake 除了不生成所有必需的文件之外,还使用了不久前安装在我的系统上的 Strawberry Perl (
C:\Strawberry\bin\...
) 的一些二进制文件,并且出于完全不同的原因。

发现这个奇怪的情况后,我删除了 Strawberry(我不再需要它)并且 CMake 开始正常工作。 :)(无论如何,在 Cygwin 中使用外部的东西似乎不太好。)另一种解决方法可能是从

PATH
环境变量中删除 Strawberry。

© www.soinside.com 2019 - 2024. All rights reserved.