CMake жалуется "Идентификация компилятора CXX неизвестна" - PullRequest
13 голосов
/ 14 марта 2012

Я слежу за этим потоком и этим одним , чтобы создать свой собственный KDE без разрешения sudo. Поскольку на рабочей станции не было установлено ни Git, ни CMake. Я просто установил их в / home / и добавил / home / / bin и / home / / lib как в PATH, так и в LD_LIBRARY_PATH. Поскольку сборка KDE поддерживает только CMake, не настраивать. Поэтому я должен установить префикс через CMake, например: cmake ~/kde-devel/src/kdelibs -DCMAKE_INSTALL_PREFIX=/home/<user>. В этот момент я получил ошибку ниже:

> ~/bin/cmake ~/kde-devel/src/kdelibs -DCMAKE_INSTALL_PREFIX=/home/<user>
-- The CXX compiler identification is unknown
-- Check for working CXX compiler: /home/gnu/bin/c++
-- Check for working CXX compiler: /home/gnu/bin/c++ -- broken
CMake Error at /home/<user>/share/cmake-2.8/Modules/CMakeTestCXXCompiler.cmake:45 (MESSAGE):
  The C++ compiler "/home/gnu/bin/c++" is not able to compile a simple test
  program.

  It fails with the following output:

   Change Dir: /home/<user>/kde-devel/build/kdelibs/CMakeFiles/CMakeTmp



  Run Build Command:/usr/bin/gmake "cmTryCompileExec/fast"
  ...

Я проверил, что есть 2 компилятора C ++:

> where c++
/home/gnu/bin/c++
/usr/bin/c++

Должен ли я установить компилятор Cake по умолчанию CMake на /usr/bin/c++? и как? Или есть ли способ решить эту проблему?

Ответы [ 3 ]

31 голосов
/ 17 декабря 2015

Запустите apt-get install build-essential в вашей системе.

Этот пакет зависит от других пакетов, которые считаются необходимыми для сборок, и будет устанавливать их. Если вы обнаружите, что вам нужно создавать пакеты, это может помочь избежать частичного разрешения зависимостей.

Подробнее см. на этой странице .

16 голосов
/ 14 марта 2012

Ваш /home/gnu/bin/c++, кажется, требует дополнительного флага для правильной связи, и CMake не знает об этом.

Чтобы использовать /usr/bin/c++ в качестве компилятора, запустите cmake с -DCMAKE_CXX_COMPILER=/usr/bin/c++.

Также переменная CMAKE_PREFIX_PATH задает каталог назначения, куда должны быть установлены файлы вашего проекта. Он не имеет ничего общего с префиксом установки CMake, и сам CMake это уже знает.

2 голосов
/ 22 августа 2013

У меня только что была проблема с настройкой моего нового ноутбука.Для меня проблема заключалась в том, что мой набор инструментов (CodeSourcery) является 32-битным, и я не установил 32-битные библиотеки.

sudo apt-get install ia32-libs
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...