【问题标题】:CMake compiler in path not being found找不到路径中的 CMake 编译器
【发布时间】:2018-10-26 22:28:28
【问题描述】:

我正在尝试使用 cmake 编译一个程序,但出现以下错误:

/.../3dg.cmake:8 (enable_language) 处的 CMake 错误:
CMAKE_CXX_COMPILER:

抄送

不是完整路径,在 PATH 中找不到。

通过设置环境告诉 CMake 在哪里可以找到编译器 变量“CXX”或 CMake 缓存条目 CMAKE_CXX_COMPILER 到完整路径 编译器,或者编译器名称(如果它在 PATH 中)。
调用堆栈(最近的调用优先):
CMakeLists.txt:8(包括)

/.../3dg.cmake:8 (enable_language) 处的 CMake 错误: CMAKE_C_COMPILER:

抄送

不是完整路径,在 PATH 中找不到。

通过设置环境告诉 CMake 在哪里可以找到编译器 变量“CC”或 CMake 缓存条目 CMAKE_C_COMPILER 到完整路径 编译器,或者编译器名称(如果它在 PATH 中)。

我在我的 cmake 文件中设置这两个变量:

set(CMAKE_C_COMPILER cc)
set(CMAKE_CXX_COMPILER CC)

此外,我可以确认它们都在我的路径中并且在正确的位置。

>>which cc
/opt/cray/pe/craype/2.5.14/bin/cc
>>which CC
/opt/cray/pe/craype/2.5.14/bin/CC

我的路径包括这个目录!

>>echo $PATH
/opt/cray/rca/2.2.18-6.0.7.0_33.3__g2aa4f39.ari/bin:/opt/cray/alps/6.6.43-6.0.7.0_26.4__ga796da3.ari/sbin:/opt/cray/job/2.2.3-6.0.7.0_44.1__g6c4e934.ari/bin:/opt/cray/pe/hdf5/1.10.0.3/bin:/opt/cray/pe/craype/2.5.14/bin:/opt/intel/compilers_and_libraries_2018.1.163/linux/bin/intel64:/usr/common/software/metis/5.1.0/bin:/usr/common/software/darshan/3.1.4/bin:/usr/common/software/altd/2.0/bin:/usr/common/software/bin:/usr/common/mss/bin:/usr/common/nsg/bin:/opt/cray/pe/mpt/7.7.0/gni/bin:/opt/ovis/bin:/opt/ovis/sbin:/usr/syscom/nsg/sbin:/usr/syscom/nsg/bin:/opt/cray/pe/modules/3.2.10.6/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games:/usr/lib/mit/bin:/usr/lib/mit/sbin:/opt/cray/pe/bin:

cmake 文件看到的路径与终端相同。我已经确认,如果我将 cmake 代码更改为:

set(CMAKE_C_COMPILER /opt/cray/pe/craype/2.5.14/bin/cc)
set(CMAKE_CXX_COMPILER /opt/cray/pe/craype/2.5.14/bin/CC)

但这不是一个长期解决方案,因为cc/CC 的实际位置取决于我使用的模块和编译器的更新版本。

有谁知道发生了什么,以及如何强制 cmake 识别这些编译器位于正确的位置?谢谢。

【问题讨论】:

  • 这个问题你解决了吗?解决方案是什么?
  • @Tolli 除了这个“快速修复”之外,我从来没有解决过这个问题。我不得不找到一个我不满意的丑陋解决方法。

标签: cmake compilation


【解决方案1】:

转到glfw的download页面并下载他们的source package。现在解压并进入目录。

现在生成带有sudo cmake -G "Unix Makefiles" 的make 文件。 现在做sudo makesudo cmake。安装过程应该完成。 欲了解更多信息,请查看here

【讨论】:

    猜你喜欢
    • 2015-06-27
    • 2019-10-07
    • 2011-12-08
    • 2015-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多