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

Kha*_*Ali 6 compiler-construction gcc cmake ios

我正在尝试安装 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
Run Code Online (Sandbox Code Playgroud)

las*_*zso 6

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

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

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

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

  • 你是我的英雄,拯救了我的一天!事实上,草莓对我的 cygwin 安装造成了很大的干扰。一旦移除(也不再需要它),一切都会像魅力一样发挥作用!非常感谢! (3认同)