cmake завершается с ошибкой «CMake Error: ваш компилятор CXX:« CMAKE_CXX_COMPILER-NOTFOUND «не найден».

52
jonquil@jonquil-Satellite-L755D:~/Downloads/akonadi-googledata-1.2.0/build$ cmake ..
-- The C compiler identification is GNU
-- The CXX compiler identification is unknown
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
CMake Error: your CXX compiler: "CMAKE_CXX_COMPILER-NOTFOUND" was not found.   Please set CMAKE_CXX_COMPILER to a valid compiler path or name.
CMake Error at /usr/share/cmake-2.8/Modules/FindKDE4.cmake:98 (MESSAGE):
  ERROR: cmake/modules/FindKDE4Internal.cmake not found in
  /home/jonquil/.kde/share/apps;/usr/share/kubuntu-default-settings/kde4-profile/default/share/apps;/usr/share/kde4/apps
Call Stack (most recent call first):
  CMakeLists.txt:6 (find_package)


CMake Warning (dev) in CMakeLists.txt:
  No cmake_minimum_required command is present.  A line of code such as

    cmake_minimum_required(VERSION 2.8)

  should be added at the top of the file.  The version specified may be lower
  if you wish to support older CMake versions for this project.  For more
  information run "cmake --help-policy CMP0000".
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Configuring incomplete, errors occurred!

С автоинструментами я получаю это:

jonquil@jonquil-Satellite-L755D:~/Downloads/akonadi-googledata-1.2.0/build/build$ autoreconf -i -f
Can't exec "libtoolize": No such file or directory at /usr/bin/autoreconf line 196.
Use of uninitialized value in pattern match (m//) at /usr/bin/autoreconf line 196.
autoreconf: `configure.ac' or `configure.in' is required
xjonquilx
источник
что which g++говорит? Очевидно, что в системе нет работающего с ++ компилятора.
Томас
Это ничего не говорит. У меня установлен GCC, если это поможет.
xjonquilx

Ответы:

80

Установите build-essential,Установите build-essential если вы еще этого не сделали. Вы можете установить его в Центре программного обеспечения или с помощью:

sudo apt-get update && sudo apt-get install build-essential
peterretief
источник
4
решил мою проблему!
Кимлив
17

gcc не содержит g ++, это разные пакеты. Установите g ++Установите g ++ :

apt-get install g++
Томас
источник
Теперь я получаю следующее: Ошибка CMake в /usr/share/cmake-2.8/Modules/FindKDE4.cmake:98 (MESSAGE): ОШИБКА: cmake / modules / FindKDE4Internal.cmake не найдена в /home/jonquil/.kde/ share / apps; / usr / share / kubuntu-default-settings / kde4-profile / default / share / apps; / usr / share / kde4 / apps стек вызовов (самый последний вызов в первую очередь): CMakeLists.txt: 6 (find_package)
xjonquilx
вам не хватает среды сборки, это больше, чем просто компиляторы, вам нужны библиотеки и так далее. Посмотрите здесь, чтобы узнать, что вам нужно: help.ubuntu.com/community/CompilingEasyHowTo
Томас
Я ЗНАЛ, что в Ubuntu я мог установить пакет, который дал бы мне все необходимые пакеты для компиляции, я просто не мог вспомнить его название. Спасибо!
xjonquilx
Я все еще получаю ту же ошибку, хотя. :(
xjonquilx
Подсказки об ошибках на kde - разработка kde не включена в build-essential. Не знаю, есть ли метапакет для этого.
Томас
4

Я знаю, что это «Спросите Ubuntu», но если кто-то с Fedora столкнется с этой проблемой, мне помогло следующее:

sudo dnf install gcc-c++
Kepler
источник
Вы правы с точки зрения цели этого конкретного форума. Обратите внимание, что вопросы - и ответы - касающиеся дистрибутивов, отличных от Ubuntu Linux, должны быть размещены на unix.stackexchange.com
CentaurusA