我正在尝试安装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
答案 0 :(得分:2)
回答这个问题可能为时已晚,但让我们试一试。 :)
您的操作系统是什么?问这个是因为我最近遇到了类似的问题:在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\...
)的一些二进制文件,原因完全不同
发现这个奇怪的我移除了草莓(我不再需要它)并且CMake开始正常工作。 :)(无论如何在Cygwin中使用外部东西似乎都没有问题。)另一种解决方法可能是从PATH
环境变量中删除Strawberry。
这可能无法解决您的问题,我花了几个小时才发现错误,因为这是一个非常微妙的问题,我发现将我的经历写下来是个好主意,以便其他人可以从中吸取教训发现自己处于这样的境地。