может быть установлен gcc, но g ++ не работает? - PullRequest
1 голос
/ 07 декабря 2008

У меня проблема с простыми программами на С ++ ...

Я хотел бы установить программу, но всегда появляется сообщение об ошибке "Компилятор c ++ не может создать исполняемые файлы" ...

Теперь я попытался скомпилировать простую программу "hello world", но я получаю ошибки, как если бы я компилировал программу c ++ с помощью компилятора ac ("cout undeclared" ... хотя я включил iostream) ...

Теперь я не уверен, если g ++ не работает на моей машине?

Кто-нибудь знает о том, как решить эту проблему?

Большое спасибо заранее ...
Chris


Добавлено В ответ на ответ Пакс:

Ну, я думаю, мой код в порядке, я могу скомпилировать его на другой машине, и я использую пространство имен std ...

Итак, это не возможно, что конфигурация g ++ не соответствует или что-то в этом роде ...?

Ответы [ 5 ]

3 голосов
/ 07 декабря 2008

Вы пытались вызвать g ++ напрямую? Если вы запустите:

g++

и он не установлен, вы должны получить обычное сообщение неверная команда , но если он установлен, вы должны увидеть что-то вроде:

g++: no input files

Если вы видите это, попробуйте запустить это:

g++ -o output-file input-file

замена выходного файла и входного файла чем угодно. Вы можете указать несколько входных исходных файлов.

Если установлен g ++, это должно работать. Обычно вам не нужно ничего настраивать. Если это не сработает, то, скорее всего, его просто не установят.

На компьютере, основанном на debian, вы просто должны иметь возможность apt-get install g ++ аналогично легко в других системах.

1 голос
/ 07 декабря 2008

Самая большая помощь при попытке диагностировать проблему при запуске configure - это посмотреть config.log. Последняя ошибка, показанная в этом файле, является причиной сообщения, которое вы видите. Я видел множество случаев, когда configure выдает одну ошибку, но журнал показывает, что проблема связана с совершенно другим компонентом (например, попытка использовать библиотеку до того, как ее проверяли).

0 голосов
/ 04 сентября 2011

Установите пакет build-essential на вашу машину и попробуйте снова. Это исправило ту же проблему для меня.

sudo apt-get install build-essential
0 голосов
/ 10 декабря 2008

Помимо вызова «неправильного» компилятора (с использованием gcc вместо g ++, см. Ответ Дэна), это возможно , но необычно, что gcc правильно собран, но g ++ неправильно собран.

Также возможно, что ваша система поставляется только с gcc, и кто-то позже установил g ++ в другой каталог. И если это так, возможно, что более новый g ++ неправильно настроен.

Попробуйте запустить команды

which gcc
which c++

Из командной строки. Если, например, gcc находится в / usr / bin, а g ++ находится в / usr / local / bin, то у вас может быть эта проблема. Вы также можете узнать, совпадают ли версии:

gcc --version
g++ --version
0 голосов
/ 08 декабря 2008

"cout 'undeclared" скорее всего означает ошибку в вашем источнике.

Пожалуйста, либо покажите нам ваш источник, либо скомпилируйте и запустите:

#include <iostream>
int main() { std::cout << "Hello" << std::endl; }

Если приведенный выше код не компилируется (например, с помощью "g++ t.cc"), покажите сообщение об ошибке complete и выведите "g++ -v".

Если он компилируется и запускается (что вполне вероятно), то в вашем g ++ нет ничего плохого, и проблема в вашем источнике. Тот факт, что ваш исходный код компилируется на другом компьютере, означает ничего - ваш код все еще может быть сильно поврежден.

...