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


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Проблема при компиляции "Привет мир!" на С++  (Прочитано 4457 раз)

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

Оффлайн 13th

  • Автор темы
  • Новичок
  • *
  • Сообщений: 33
    • Просмотр профиля
Всем привет! Не так давно перешел на Линукс (Kubuntu) и столкнулся с тем фактом, что большинство программ представлены в виде исходных кодов на C/C++. Начал осваивать (как водится с "привет мир") и сразу столкнулся со следующей проблемой... Имеется файл file.cpp в котором записано следующее:

#include <iostream>

using namespace std;

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

Даем команду gcc file.cpp и получаем следующее...

/tmp/ccjz7pv1.o: In function `__static_initialization_and_destruction_0(int, int)':
file.cpp:(.text+0x23): undefined reference to `std::ios_base::Init::Init()'
/tmp/ccjz7pv1.o: In function `__tcf_0':
file.cpp:(.text+0x6c): undefined reference to `std::ios_base::Init::~Init()'
/tmp/ccjz7pv1.o: In function `main':
file.cpp:(.text+0x8e): undefined reference to `std::cout'
file.cpp:(.text+0x93): 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*)'
file.cpp:(.text+0x9b): 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> >&)'
file.cpp:(.text+0xa3): 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/ccjz7pv1.o:(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
danilov@acer:~/Desktop/cpp$

Как я понимаю - это не есть хорошо... В чем ошибка?

gcc -v
Using built-in specs.
Target: i486-linux-gnu
Configured with: ../src/configure -v --enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.1.3 --program-suffix=-4.1 --enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug --enable-mpfr --enable-checking=release i486-linux-gnu
Thread model: posix
gcc version 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)

Помогите разобраться!... Всем откликнувшимся - заранее спасибо.

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: Проблема при компиляции "Привет мир!" на С++
« Ответ #1 : 14 Апреля 2008, 10:00:29 »
g++ file.cpp или gcc file.cpp -lstdc++

Оффлайн 13th

  • Автор темы
  • Новичок
  • *
  • Сообщений: 33
    • Просмотр профиля
Re: Проблема при компиляции "Привет мир!" на С++
« Ответ #2 : 14 Апреля 2008, 10:54:20 »
Спасибо, все заработало!
А в чем различие между g++ и gcc ?

Оффлайн Talaat

  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: Проблема при компиляции "Привет мир!" на С++
« Ответ #3 : 14 Апреля 2008, 11:13:05 »
А в чем различие между g++ и gcc ?
gcc это компилятор языка С, а g++ это компилятор С++

Оффлайн ceeqwer

  • Участник
  • *
  • Сообщений: 208
  • Cyber Demon
    • Просмотр профиля
Re: Проблема при компиляции "Привет мир!" на С++
« Ответ #4 : 14 Апреля 2008, 17:39:43 »
Чтобы собирать программы из исходников не обязательно знать язык на котором они написаны

Оффлайн 13th

  • Автор темы
  • Новичок
  • *
  • Сообщений: 33
    • Просмотр профиля
Re: Проблема при компиляции "Привет мир!" на С++
« Ответ #5 : 14 Апреля 2008, 18:57:39 »
Понимаю, что не обязательно.., но ведь для общего развития лишним не будет.
До последнего времени обходился FreePascal и Lazarus , но в силу жутких тормозов последнего решил попробовать что-нибудь новое.

 

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