Я использую Cmake 3.5.1, и мне нужно скомпилировать некоторые коды C ++, для которых требуется Cmake 3.7.Я использую Ubuntu 16.04.
Я не могу удалить Cmake 3.5.1, так как он связан с ROS, и это нарушит работу ROS.Поэтому я установил CMake 3.12.3, используя инструкции из здесь , но в другом каталоге (/usr/local/cmake-3.12.3).
Запуск команд в терминале для проверкиверсии:
cmake версия 3.12.3
gcc версия 5.4.0
g ++ (Ubuntu 5.4.0-6ubuntu1 ~ 16.04.10) 5.4.0
Далее я пытаюсь скомпилировать коды C ++
cd /media/fastrl-master
sudo cmake .
Я получил ошибку, что CMake не может скомпилировать простую тестовую программу.Я попытался установить права доступа к папке, содержащей коды C ++ (fastrl-master), а также установить основы сборки (apt install --reinstall build-essential).Это не сработало.
Это содержимое CMakeError.log
Сбой при компиляции исходного файла идентификации компилятора CXX "CMakeCXXCompilerId.cpp".Компилятор: /usr/local/src/cmake-3.12.3 Флаги сборки: флаги Id:
Вывод был: «Отказано в доступе»
Компиляция исходного файла идентификации компилятора CXX «CMakeCXXCompilerId.cpp»не удалось.Компилятор: /usr/local/src/cmake-3.12.3 Флаги сборки: флаги Id: -c
Вывод был: «Отказано в доступе»
Компиляция исходного файла идентификации компилятора CXX "CMakeCXXCompilerId.cpp "не удалось.Компилятор: /usr/local/src/cmake-3.12.3 Флаги сборки: флаги Id: --c ++
Вывод был: «Отказано в доступе»
Компиляция исходного файла идентификации компилятора CXX "CMakeCXXCompilerId.cpp "не удалось.Компилятор: /usr/local/src/cmake-3.12.3 Флаги сборки: флаги Id: --ec ++
Вывод был: Отказано в доступе
Компиляция исходного файла идентификации компилятора CXX "CMakeCXXCompilerId.cpp "не удалось.Компилятор: /usr/local/src/cmake-3.12.3 Флаги сборки: флаги Id:
Вывод был: «Отказано в доступе»
Компиляция исходного файла идентификации компилятора CXX "CMakeCXXCompilerId.cpp"не удалось.Компилятор: /usr/local/src/cmake-3.12.3 Флаги сборки: флаги Id: -c
Вывод был: Отказано в доступе
Компиляция исходного файла идентификации компилятора CXX "CMakeCXXCompilerId.cpp "не удалось.Компилятор: /usr/local/src/cmake-3.12.3 Флаги сборки: флаги Id: --c ++
Вывод был: «Отказано в доступе»
Компиляция исходного файла идентификации компилятора CXX "CMakeCXXCompilerId.cpp "не удалось.Компилятор: /usr/local/src/cmake-3.12.3 Флаги сборки: Флаги Id: --ec ++
Вывод был: Отказано в доступе
Проверка, является ли компилятор CXX IAR с использованием "«не соответствует« IAR. + Компилятор »: проверка того, является ли компилятор CXX IAR с использованием« », не соответствует« IAR. + Компилятор »: определение того, что компилятор CXX работает, со следующим выводом: Изменить Dir: / media / fastrl-master / CMakeFiles / CMakeTmp
Запустить команду сборки: "/ usr / bin / make" "cmTC_662e1 / fast" / usr / bin / make -f CMakeFiles / cmTC_662e1.dir / build.make CMakeFiles / cmTC_662e1.dir / build make 1 : вход в каталог '/ media / fastrl-master / CMakeFiles / CMakeTmp' Создание объекта CXX CMakeFiles / cmTC_662e1.dir / testCXXCompiler.cxx.o /usr/local/src/cmake-3.12.3 -o CMakeFiles / cmTC_662e1.dir / testCXXCompiler.cxx.o -c /media/fastrl-master/CMakeFiles/CMakeTmp/testCXXCompiler.cxx make 1 : execvp: / usr / local / src / cmake-3.12.3: в доступе отказано CMakeFiles / cmTC_662e1.dir / build.make: 65: рецепт для цели 'CMakeFiles / cmTC_662e1.dir / testCXXCompiler.cxx.o 'не удалось создать 1 : * [CMakeFiles / cmTC_662e1.dir / testCXXCompiler.cxx.o] Ошибка 127 make 1 :Выходящий каталог '/ media / fastrl-master / CMakeFiles / CMakeTmp' Makefile: 121: рецепт для цели 'cmTC_662e1 / fast' не выполнен make: *[cmTC_662e1 / fast] Ошибка 2