Модераторы: xvr

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Хочу написать Hello World, Но даже это не получается 
V
    Опции темы
Dray
  Дата 14.2.2006, 00:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Материалист
**


Профиль
Группа: Участник
Сообщений: 652
Регистрация: 7.10.2003
Где: г. Всеволожск

Репутация: нет
Всего: 6



Решил начать учиться программировать по Линух. Написал программу:
Код

#include <iostream>
using namespace std;
int main ()
{
    cout << "Hello world" << endl;
    return 0;
};

Написал в терминале: gcc test.cpp
А вместо обещанного a.out получил следущее:

Цитата

/tmp/ccT8QvGA.o(.text+0x14): In function `main':
: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)'
/tmp/ccT8QvGA.o(.text+0x21): In function `main':
: undefined reference to `std::cout'
/tmp/ccT8QvGA.o(.text+0x26): In function `main':
: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
/tmp/ccT8QvGA.o(.text+0x2f): In function `main':
: undefined reference to `std::basic_ostream<char, std::char_traits<char> >::operator<<(std::basic_ostream<char, std::char_traits<char> >& (*)(std::basic_ostream<char, std::char_traits<char> >&))'
/tmp/ccT8QvGA.o(.text+0x5c): In function `__static_initialization_and_destruction_0(int, int)':
: undefined reference to `std::ios_base::Init::Init[in-charge]()'
/tmp/ccT8QvGA.o(.text+0x8b): In function `__tcf_0':
: undefined reference to `std::ios_base::Init::~Init [in-charge]()'
/tmp/ccT8QvGA.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status

Что я не так зделал? smile


--------------------
忍者

user posted image
PM MAIL   Вверх
Kefir
Дата 14.2.2006, 01:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


«Hakuna Matata»
***


Профиль
Группа: Комодератор
Сообщений: 1878
Регистрация: 25.1.2003
Где: Tampere, Suomi

Репутация: нет
Всего: 87



я, конечно, gcc не пользуюсь, но g++ этот код скомпилил на ура. проверь - может у тебя какой-нить левый gcc или попробуй скомпилить g++
PM MAIL WWW Skype   Вверх
Fin
Дата 14.2.2006, 01:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дракон->Спать();
**


Профиль
Группа: Участник
Сообщений: 687
Регистрация: 4.1.2006

Репутация: нет
Всего: 10



Если gcc это С без плюсов. Тогда он и не должен компилить это. Так как cout это объект.


--------------------
Пролетал мимо.
PM MAIL   Вверх
chaos
Дата 14.2.2006, 07:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

Репутация: 3
Всего: 44



Dray, не ты первый
hello world
Добавлено @ 07:50
да, решил повторить "твои" ошибки - получилось)
значит такой код
Код

#include <iostream>
#include <cstdlib>
using namespace std;

int main(int argc, char *argv[])
{
    cout << "Hello world!" << endl;
    return EXIT_SUCCESS;
}

при попытки собрать gcc также ругается.
а вот собрал g++ все ОК
bash-2.05b$ g++ -v
Using builtin specs.
gcc version 2.95.4 20020320 [FreeBSD]

PM WWW   Вверх
kirjanov
Дата 14.2.2006, 09:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 22.1.2006
Где: Dark wood of erro r

Репутация: 3
Всего: 15



клманда gcc prog_name -lstdc++ должна решить проблему
PM MAIL   Вверх
Dray
Дата 15.2.2006, 20:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Материалист
**


Профиль
Группа: Участник
Сообщений: 652
Регистрация: 7.10.2003
Где: г. Всеволожск

Репутация: нет
Всего: 6



Ух-ты! Попробовал в g++ - получилось!
Цитата(kirjanov @ 14.2.2006, 09:59 Найти цитируемый пост)
клманда gcc prog_name -lstdc++ должна решить проблему

Решила!
Всем спасибо.


--------------------
忍者

user posted image
PM MAIL   Вверх
bilbobagginz
Дата 17.2.2006, 20:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 4
Всего: 317



Dray, твой пример был построен бездарным учителем. ты неправильные источники знаний избрал. этот "хелло ворлд" на Си++ - извращенный, ему ни к селу ни к городу это включение: #include <cstdlib> - которое используется когда хотят использовать функции из стандартной библиотеки Си. Это нужно на самом деле крайне редко, особенно при учебе - думаю только в работе с ситемными вызовами, и при соединении кода Си с кодом на Си++. обычно даже для этого используется другая техника.
вписан этот заголовок каким-то (... ладно. )из-за константы EXIT_SUCCESS, равной нулю.
для понимания Си++, она не имеет значения, а вот у тебя уже сложилось скверное впечатление - либо о Си++, либо Юниксах smile
совет: меняй учителя пока не поздно.


пока.






--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
Dray
Дата 18.2.2006, 00:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Материалист
**


Профиль
Группа: Участник
Сообщений: 652
Регистрация: 7.10.2003
Где: г. Всеволожск

Репутация: нет
Всего: 6



bilbobagginz, согласен только это не мой код. Мой код вот:
Код

#include <iostream>
using namespace std;
int main ()
{
    cout << "Hello world" << endl;
    return 0;
};

Здесь ИМХО нет ничего лишнего. smile
А учитель у меня был хороший! Жаль он уже рассказал все что положено по учебной программе. smile
Теперь остался только Б. Страуструп "Язык программирования С++".


--------------------
忍者

user posted image
PM MAIL   Вверх
bilbobagginz
Дата 18.2.2006, 01:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 4
Всего: 317



a это прекрасная программа, но только здесь есть одна лишняя ";"
smile

ладно чего-то я стал приставать к людям... извиняюсь... сессия, вредным стал smile



--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
Rezzonans
Дата 2.3.2006, 02:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 145
Регистрация: 21.4.2005

Репутация: нет
Всего: нет



Dray, куда проще:

Код

#include<stdio.h>

main(){
           printf("hello, world\n\n");
}



сохраняешь в файл primer.c и компилируешь следующей строкой: gcc primer.c -o rezult и в результате чего получаешь исполняемый файл rezult, который после запуска (./rezult) выдаёт то самое сообщение.

А вообще на счёт gcc компилятора можно посмотреть тут: http://www.firststeps.ru/linux/ - хорошо мозги прочищает и сразу всё становится ясно smile
--------------------
Первый детектор лжи был собран из ребра мужчины. Впрочем, до сих пор, никаких изменений не притерпел
PM MAIL   Вверх
jonie
Дата 16.4.2006, 14:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: нет
Всего: 118



По мне так не дело засорять пространство имен.... хотя оно, конечно, проще....
можно так (или тоже, но без using) smile
Код

#include <iostream>
using std::cout;
using std::endl;
int main(){
    cout<<"Hello World!"<<endl;
    return 0;
}

Хотя кому как... и нафига в строке 8 первого поста стоит ";" ?) 


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
Dray
Дата 16.4.2006, 22:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Материалист
**


Профиль
Группа: Участник
Сообщений: 652
Регистрация: 7.10.2003
Где: г. Всеволожск

Репутация: нет
Всего: 6



Цитата(jonie @  16.4.2006,  14:37 Найти цитируемый пост)
Хотя кому как... и нафига в строке 8 первого поста стоит ";" ?)  

Это не является ошибкой. А по правилам ; после } нигде не надо ставить, за исключением не помню чего (do while что ли). Я машинально ставлю везде ; и думаю ничего страшного здесь нет. smile  


--------------------
忍者

user posted image
PM MAIL   Вверх
drG100k
Дата 21.4.2006, 15:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 31.3.2006

Репутация: нет
Всего: нет



Точку с запятой в Си надо ставить после } когда ты структуру описываешь типа
struct A {
int b;
char[] c;
}; 
PM MAIL   Вверх
jxr
Дата 22.5.2006, 21:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 338
Регистрация: 31.7.2005

Репутация: нет
Всего: нет



Код

using namespace std;

для чего это? 
PM MAIL   Вверх
Dray
Дата 24.5.2006, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Материалист
**


Профиль
Группа: Участник
Сообщений: 652
Регистрация: 7.10.2003
Где: г. Всеволожск

Репутация: нет
Всего: 6



Как для чего? Там всякие фишки из стандартной библиотеки. 


--------------------
忍者

user posted image
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Программирование под Unix/Linux"
xvr
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой "Код".
  • Вопросы мобильной разработки тут
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема »


 




[ Время генерации скрипта: 0.0621 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.