Решено: CPP + Linux Debian Squeeze (...или как начать)

Модератор: Модераторы разделов

Tocaor
Сообщения: 124
ОС: Debian Lenny, Saueeze

Решено: CPP + Linux Debian Squeeze

Сообщение Tocaor »

Решил я начать учиться C++. Но на первом же шаге столкнулся с непонятными проблемами. Пошарил по форуму и вообще по интернету - ответа не нашёл. Вот примитивный код:

Код: Выделить всё

#include <iostream>
using namespace std;

main ()
{
  cout << "Добро пожаловать в С++!\n";
  return 0;
}


Вот ответ:

Код: Выделить всё

$ gcc ./primero.cpp
/tmp/ccs1Aj6b.o: In function `main':
primero.cpp:(.text+0x14): undefined reference to `std::cout'
primero.cpp:(.text+0x19): 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/ccs1Aj6b.o: In function `__static_initialization_and_destruction_0(int, int)':
primero.cpp:(.text+0x41): undefined reference to `std::ios_base::Init::Init()'
primero.cpp:(.text+0x46): undefined reference to `std::ios_base::Init::~Init()'
/tmp/ccs1Aj6b.o:(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status


Если честно - ничего не понял. Что ему нужно? Где я успел столько ошибок наделать? А может чего то не хватает в системе? Опять же где то прочёл что в Linux чуть ли не по умолчанию всё должно работать. В общем, подскажите с чего начать изучать, а то на первом же шаге такой облом. Аж прям желание отбивает дальше копать. Ну или носом ткните в конеце концов туда где всё доступно описано применительно к данной ситуации.

P.S. Вариант "начать с программирования под Винды" не предлагать. Не для того она мною была изжита со всех имеющихся в наличии машин чтобы снова вернуться.
Спасибо сказали:
neol
Сообщения: 600
ОС: Debian Stable

Re: Решено: CPP + Linux Debian Squeeze

Сообщение neol »

Для начала кошерно объявлять main надо как-то так:

Код: Выделить всё

int main(void)

А собирать примерно так:

Код: Выделить всё

g++ -Wall ./primero.cpp -o primero

-Wall - выводить все предупреждения.
Спасибо сказали:
Аватара пользователя
Portnov
Модератор
Сообщения: 1786
Статус: Матёрый линуксоид
ОС: Debian testing/unstable

Re: Решено: CPP + Linux Debian Squeeze

Сообщение Portnov »

Tocaor
Просто компилируйте не gcc, а g++ (раз уж c++).
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Спасибо сказали:
Аватара пользователя
Babusha
Сообщения: 203
ОС: Убунту

Re: Решено: CPP + Linux Debian Squeeze

Сообщение Babusha »

$ g++ ./primero.cpp -o ./primero
Спасибо сказали:
Аватара пользователя
Фантом
Сообщения: 460
ОС: openSUSE

Re: Решено: CPP + Linux Debian Squeeze

Сообщение Фантом »

Для C++ используйте вызов компилятора g++, а не gcc (т.е. g++ primero.cpp).

Все остальное, что написано выше, в принципе правильно, но в данном случае непринципиально, :)
Спасибо сказали:
Tocaor
Сообщения: 124
ОС: Debian Lenny, Saueeze

Re: Решено: CPP + Linux Debian Squeeze

Сообщение Tocaor »

Всем спасибо. По результатам отпишусь.
Спасибо сказали:
Tocaor
Сообщения: 124
ОС: Debian Lenny, Saueeze

Re: Решено: CPP + Linux Debian Squeeze

Сообщение Tocaor »

Всё заработало. Всем спасибо ещё раз. Будем грызть дальше.
Спасибо сказали: