Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
找不到路径中的CMake编译器_Cmake_Compilation - Fatal编程技术网

找不到路径中的CMake编译器

找不到路径中的CMake编译器,cmake,compilation,Cmake,Compilation,我正在尝试使用cmake编译一个程序,该程序会导致以下错误: CMake错误位于/../3dg.CMake:8(启用语言): CMAKE_CXX_编译器: 抄送 不是完整路径,在路径中找不到 通过设置环境或 变量“CXX”或CMake缓存条目CMake_CXX_编译器指向完整路径 到编译器,或到编译器名称(如果在路径中)。 调用堆栈(最新调用优先): CMakeLists.txt:8(包括) CMake错误位于/../3dg.CMake:8(启用语言): CMAKE_C_编译器: 抄送 不是完整

我正在尝试使用cmake编译一个程序,该程序会导致以下错误:

CMake错误位于/../3dg.CMake:8(启用语言):
CMAKE_CXX_编译器:

抄送

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

通过设置环境或 变量“CXX”或CMake缓存条目CMake_CXX_编译器指向完整路径 到编译器,或到编译器名称(如果在路径中)。
调用堆栈(最新调用优先):
CMakeLists.txt:8(包括)

CMake错误位于/../3dg.CMake:8(启用语言): CMAKE_C_编译器:

抄送

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

通过设置环境或 变量“CC”或CMake缓存项CMake_C_编译器的完整路径 编译器,或编译器名称(如果在路径中)

我在我的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识别这些编译器位于正确的位置?谢谢。

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

现在使用sudo cmake-G“Unix Makefiles”生成make文件。 现在做
sudo-make
sudo-cmake
。安装过程应已完成。
有关更多信息,请查看

您是否解决了此问题?解决方法是什么?@Tolli除了这个“快速修复”之外,我从来没有解决过这个问题。我必须找到一个我不满意的丑陋的工作。