2015-07-15 2 views
5

Я пытаюсь скомпилировать проект git, и я столкнулся с некоторыми проблемами с CMake. Первоначально он не нашел компилятор C++ и запрос об ошибке:Ошибки при компиляции с помощью CMake

cmake .. 

No CMAKE_CXX_COMPILER could be found.

Tell CMake where to find the compiler by setting either the environment variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path to the compiler, or to the compiler name if it is in the PATH.

Итак, я сделал:

CXX="gcc" cmake .. 

Но другая ошибка была вызвана:

-- The CXX compiler identification is unknown
-- Check for working CXX compiler: /usr/bin/gcc
-- Check for working CXX compiler: /usr/bin/gcc -- broken
CMake Error at /usr/share/cmake-3.0/Modules/CMakeTestCXXCompiler.cmake:54 (message):
The C++ compiler "/usr/bin/gcc" is not able to compile a simple test program.

Как я могу решить эту ошибку и скомпилировать проект?

+0

Вы пытаетесь использовать CMake в системе Linux или Mac OS? CMake должен иметь возможность автоматически обнаруживать компилятор по умолчанию на вашем компьютере. Что возвращает команда 'g ++ -v' в терминале? – Antwane

+0

Система Linux. О 'g ++ -v', он выдает команду« не найден ». – Patrick

ответ

6

Вы пытаетесь использовать C компилятор gcc в C++ один, который является неправильным.

Вам необходимо установить g++ или другой C++ компилятор.

+0

Действительно? Я прочитал [этот ответ] (http://stackoverflow.com/a/173007/3029543), и, по моему мнению, он говорит, что gcc может скомпилировать как C, так и C++-программы. – Patrick

+2

Он может, но для этого требуется, по крайней мере, библиотека stdC++, которая поставляется с g ++. Просто установите g ++, и все будет работать без вмешательства, как настройка переменной CXX. – Tsyvarev

+0

Спасибо, он работал безупречно. – Patrick

11

Вы должны попробовать установить build-essential, если вы этого еще не сделали.

Попробуйте

sudo apt-get update 
sudo apt-get install -y build-essential 
+0

Это разрешило проблему для меня. Но почему? Что делает пакет 'build-essential'? –

+0

https://superuser.com/a/151558/170267 – iamchriswick

Смежные вопросы