Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Очень нужна помощь.  (Прочитано 1490 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Maxim_Tr

  • Автор темы
  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Очень нужна помощь.
« : 23 Июня 2009, 03:00:36 »
   Добрый день.
Прошу помочь в некотором вопросе: не компилируеться даже самая простая программа, ни в С ни в С++
(Самая простая программа взята из учебника :)
Проще показать результаты:

Вот собственно для С
trash@trash-laptop:~$ gcc hello.c
/usr/lib/gcc/i486-linux-gnu/4.3.3/../../../../lib/crt1.o: In function `_start':
/build/buildd/glibc-2.9/csu/../sysdeps/i386/elf/start.S:115: undefined reference to `main'
/tmp/ccjlzySd.o: In function `MAIN':
hello.c:(.text+0xe): undefined reference to `PRINTF'
collect2: выполнение ld завершилось с кодом возврата 1

Ну а вот для С++
trash@trash-laptop:~$ g++ hello.cpp
hello.cpp: In function ‘int main()’:
hello.cpp:4: ошибка: нет декларации ‘cout’ в этой области видимости



Предвидя некоторые вопросы:
Стоит Ubuntu 9.04
Build-Essential установлен. Code::Block и Anjuta то же. (И в них то же не работает)
Справедливо как для gcc так и для cc
Опыт  в программировании есть.

  Может переустановить какие-либо пакеты? Если да то как?
Очень надеюсь на вашу помощь.
Спасибо.

Оффлайн ubuntar

  • Участник
  • *
  • Сообщений: 129
  • Qui quaerit, reperit
    • Просмотр профиля
Re: Очень нужна помощь.
« Ответ #1 : 23 Июня 2009, 04:45:38 »
По всей видимости,ты просто не подключил заголовочные файлы,типа stdio.h или iostream(C++).Например:
#include <iostream>

using std::cout;

int main()
{
     cout<<"Hello world";
     return 0;
}

Lifewalker

  • Гость
Re: Очень нужна помощь.
« Ответ #2 : 23 Июня 2009, 08:47:11 »
По всей видимости,ты просто не подключил заголовочные файлы,типа stdio.h или iostream(C++).Например:
#include <iostream>

using std::cout;

int main()
{
     cout<<"Hello world";
     return 0;
}

Ошибка. Код выше компилиться тоже не будет. using без namespace не правомочен, это же С++ а не Джава :) Хотя с точки зрения Джава программиста код выше вполне логичен. Правильно так.

#include <iostream>
using namespace std;

int main()
{
     cout << "Hello world" << endl;
     return 0;
}

Оффлайн SkeL2007

  • Участник
  • *
  • Сообщений: 204
    • Просмотр профиля
Re: Очень нужна помощь.
« Ответ #3 : 23 Июня 2009, 10:08:54 »
Ошибка. Код выше компилиться тоже не будет. using без namespace не правомочен, это же С++ а не Джава :) Хотя с точки зрения Джава программиста код выше вполне логичен.

Прежде чем писать ерунду, можно было хотя бы попробовать скомпилировать;) Говорю сразу - получится и заработает, как надо.

Lifewalker

  • Гость
Re: Очень нужна помощь.
« Ответ #4 : 23 Июня 2009, 10:18:05 »
Говорю сразу - получится и заработает, как надо.

К моему удивлению и в самом деле скомпилилось. Во что превратили Си++?  :-[ Уже не язык стал, а какое-то сборище конструкций невесть откуда понатянутых и неведомо как работающих... Ужос!  :o

Оффлайн Maxim_Tr

  • Автор темы
  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: Очень нужна помощь.
« Ответ #5 : 23 Июня 2009, 11:03:52 »
Именно такой код я и пытался компилировать, после нескольких попыток был написан аналог на С (взят из книги Кернигана и Ричи). Может есть какая либо возможность проверить целостнось пакета?   

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: Очень нужна помощь.
« Ответ #6 : 23 Июня 2009, 11:52:20 »
sudo aptitude reinstall build-essential

Оффлайн Kwah

  • Старожил
  • *
  • Сообщений: 1442
  • Ubuntu 17.10
    • Просмотр профиля
Re: Очень нужна помощь.
« Ответ #7 : 23 Июня 2009, 14:34:55 »
Именно такой код я и пытался компилировать, после нескольких попыток был написан аналог на С (взят из книги Кернигана и Ричи). Может есть какая либо возможность проверить целостнось пакета?   
Ты бы код-то показал, который компилировал в том и в другом случае.

Оффлайн Maxim_Tr

  • Автор темы
  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: Очень нужна помощь.
« Ответ #8 : 23 Июня 2009, 21:36:01 »
  Все заработало!!!
Спасибо за советы, очень помогла переустановка build-essential.
Откомпилироваллись те же файлы, которые вчера выпадали в ошибку.

 

Страница сгенерирована за 0.018 секунд. Запросов: 22.