Компилятор CMake в пути не найден - PullRequest
0 голосов
/ 27 октября 2018

Я пытаюсь скомпилировать программу с использованием cmake, которая выдает мне следующие ошибки:

Ошибка CMake в /.../3dg.cmake:8 (enable_language):
CMAKE_CXX_COMPILER:

CC

не полный путь и не найден в ПУТИ.

Сообщите CMake, где найти компилятор, установив либо среду переменная "CXX" или запись кэша CMake CMAKE_CXX_COMPILER для полного пути к компилятору или к имени компилятора, если оно находится в PATH.
Стек вызовов (сначала самый последний вызов):
CMakeLists.txt: 8 (включает)

Ошибка CMake в /.../3dg.cmake:8 (enable_language): 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 распознать, что эти компиляторы расположены в правильном месте? Спасибо.

1 Ответ

0 голосов
/ 14 февраля 2019

Перейдите на загрузку страницы glfw и загрузите исходный пакет . Теперь распакуйте его и войдите в каталог.

Теперь сгенерируйте файл make с sudo cmake -G "Unix Makefiles". Теперь сделайте sudo make и sudo cmake. Процесс установки должен быть завершен. Для получения дополнительной информации взгляните на здесь

...