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


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

Автор Тема: Программирование С++ на Ubuntu  (Прочитано 5263 раз)

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

Оффлайн Johny Blackbird

  • Автор темы
  • Любитель
  • *
  • Сообщений: 75
    • Просмотр профиля
Программирование С++ на Ubuntu
« : 30 Сентября 2010, 23:47:54 »
Всем привет. У меня такая проблема. Вообще не запускаются проги на С++ в компиляторах. Пробовал Codelite, Code::Blocs IDE, Eclipse. Проги самые простейшие, типа:
#include<stdio.h>
void main()
{
  printf("ubuntu");
}
Подскажите, плиз, что делать.
P.S. Build-essential у меня установлен(последняя версия)

« Последнее редактирование: 01 Октября 2010, 08:19:02 от truegeek »
Гну Linux. Скоро согну.

Оффлайн [DarkNet]Alpha

  • Активист
  • *
  • Сообщений: 987
  • Эмоциональный эльдар
    • Просмотр профиля
    • EBM-радио
Re: Программирование С++ на Ubuntu
« Ответ #1 : 30 Сентября 2010, 23:56:24 »
g++ file.cpp -o желаемое_имя
./желаемое_имя

Хотя ошибок насыпет в этом коде 100%.
Использовать printf для обычного вывода - расточительно
#include <iostream>
using namespace std;
void main(){
    cout << "ubuntu\n";
}

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: Программирование С++ на Ubuntu
« Ответ #2 : 01 Октября 2010, 00:00:17 »
Во первых, "Codelite, Code::Blocs IDE, Eclipse" это не компиляторы. Это интегрированные среды для разработки, в них самих не входят компиляторы, но они в свою очередь умеют работать с большинством популярных компиляторов, будто gcc или icc.

Во вторых, правильная программа hello-world на C++, в соответствии с ISO стандартом, выглядит следующим образом:
#include <iostream>

int main()
{
    std::cout << "Hello World!" << std::endl;
}

В третьих "вообще не запускаются" не есть формулировка проблемы. На это могу сказать: а у меня вообще всё запускается.

Оффлайн Johny Blackbird

  • Автор темы
  • Любитель
  • *
  • Сообщений: 75
    • Просмотр профиля
Re: Программирование С++ на Ubuntu
« Ответ #3 : 01 Октября 2010, 00:02:36 »
Ничего не меняется, прога по-прежнему не запускается. Есть подозрение, что дело не в проге, а в системе.
Гну Linux. Скоро согну.

Оффлайн SergeyIT

  • Зануда.
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5750
  • Все по палатам!
    • Просмотр профиля
Re: Программирование С++ на Ubuntu
« Ответ #4 : 01 Октября 2010, 00:04:42 »
А проект создал?
Извините, я все еще учусь

Оффлайн [DarkNet]Alpha

  • Активист
  • *
  • Сообщений: 987
  • Эмоциональный эльдар
    • Просмотр профиля
    • EBM-радио
Re: Программирование С++ на Ubuntu
« Ответ #5 : 01 Октября 2010, 00:05:39 »
Хехех.
Linux повторяет изгибы рук владельца (с)
Что именно не получается?

Оффлайн Johny Blackbird

  • Автор темы
  • Любитель
  • *
  • Сообщений: 75
    • Просмотр профиля
Re: Программирование С++ на Ubuntu
« Ответ #6 : 01 Октября 2010, 00:09:44 »
Проект создавал. Не получается скомпилировать прогу, то есть вместо выполнения build:
-------------- Build: Debug in test ---------------

Linking stage skipped (build target has no object files to link)
Nothing to be done.

Гну Linux. Скоро согну.

Оффлайн [DarkNet]Alpha

  • Активист
  • *
  • Сообщений: 987
  • Эмоциональный эльдар
    • Просмотр профиля
    • EBM-радио
Re: Программирование С++ на Ubuntu
« Ответ #7 : 01 Октября 2010, 00:17:38 »
Начни с консольного g++. Когда наберёшься опыта, пробуй среды.
В качестве редактора рекомендую geany.

Оффлайн Johny Blackbird

  • Автор темы
  • Любитель
  • *
  • Сообщений: 75
    • Просмотр профиля
Re: Программирование С++ на Ubuntu
« Ответ #8 : 01 Октября 2010, 00:34:30 »
Поставил себе geany, "сборка" в меню неактивна. К ней плагины  какие-нибудь нужны, помимо тех, что synaptic выдаёт?


Пользователь решил продолжить мысль 01 Октября 2010, 00:36:37:
Всё, уже пошло
« Последнее редактирование: 01 Октября 2010, 00:36:37 от Johny Blackbird »
Гну Linux. Скоро согну.

Оффлайн SergeyIT

  • Зануда.
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5750
  • Все по палатам!
    • Просмотр профиля
Извините, я все еще учусь

Оффлайн Johny Blackbird

  • Автор темы
  • Любитель
  • *
  • Сообщений: 75
    • Просмотр профиля
Re: Программирование С++ на Ubuntu
« Ответ #10 : 01 Октября 2010, 01:02:55 »
Вот прога:
#include <iostream>
int main(int argc, char** argv)
{
    std::cout << "Hello World!" << std::endl;
    return 0;
}

вот что выдаёт компилятор:
noname.cpp:(.text+0x55): undefined reference to `std::ios_base::Init::Init()'
noname.cpp:(.text+0x5a): undefined reference to `std::ios_base::Init::~Init()'
/tmp/ccUqStQl.o:(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
Скажите, плиз, что делать?
Гну Linux. Скоро согну.

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: Программирование С++ на Ubuntu
« Ответ #11 : 01 Октября 2010, 01:07:46 »
Компилировать программы C++ компилятором для C++. Имя тому g++

Пользователь решил продолжить мысль 01 Октября 2010, 01:10:02:
mamon@mamon-netbook:/usr/home/mamon/tmp$ cat noname.cpp
#include <iostream>
int main(int argc, char** argv)
{
    std::cout << "Hello World!" << std::endl;
    return 0;
}
mamon@mamon-netbook:/usr/home/mamon/tmp$ g++ noname.cpp -o noname
mamon@mamon-netbook:/usr/home/mamon/tmp$ ./noname
Hello World!
« Последнее редактирование: 01 Октября 2010, 01:10:02 от Mam(O)n »

Оффлайн Johny Blackbird

  • Автор темы
  • Любитель
  • *
  • Сообщений: 75
    • Просмотр профиля
Re: Программирование С++ на Ubuntu
« Ответ #12 : 01 Октября 2010, 01:22:49 »
Спс, работает. А можно мне ссыль, почитать про атрибуты в терминале, типа -о?
Гну Linux. Скоро согну.

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: Программирование С++ на Ubuntu
« Ответ #13 : 01 Октября 2010, 01:25:46 »
Набери команду в терминале man g++

Пользователь решил продолжить мысль [time]Fri Oct  1 01:26:43 2010[/time]:
-o это имя выходного файла. Если не указывать эту опцию, то имя выходного файла будет принято как a.out

Оффлайн VestniK

  • Активист
  • *
  • Сообщений: 594
    • Просмотр профиля
Re: Программирование С++ на Ubuntu
« Ответ #14 : 01 Октября 2010, 01:30:35 »
Цитировать
вот что выдаёт компилятор:
noname.cpp:(.text+0x55): undefined reference to `std::ios_base::Init::Init()'
noname.cpp:(.text+0x5a): undefined reference to `std::ios_base::Init::~Init()'
/tmp/ccUqStQl.o:(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
Скажите, плиз, что делать?
Когда задаёшь вопрос, важно указать три вещи:
1 Что хотел получить
2 Что сделал
3 Что плучил
Без любого из 3х пунктов помощь смогут оказать только телепаты. У тебя отстутствует пункт 2.

P.S. https://forum.ubuntu.ru/index.php?topic=100976.0

 

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