Не компилируется программа на C++

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

Doping
Сообщения: 1

Не компилируется программа на C++

Сообщение Doping »

Всем привет!
Написал вот такой код:

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

#include <iostream>
using namespace std;
int main()
{
  int y;
  float a;
  cout << ("Vvedite Y \n");
  cin >> y;
  a = (3*y-2*y*y)/(4*y*y-12*y+9);
  cout << "(3*y-2*y*y)/(4*y*y-12*y+9) = " << a << "\n";
  cin >> y;
  return 0;
}


компилю: gcc -o lab-10_1_8 lab-10_1_8.cpp

Выводится вот что:

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

/tmp/ccPc2eYJ.o: In function `std::__verify_grouping(char const*, unsigned int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
lab_10_1_8.cpp:(.text+0xe): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::size() const'
lab_10_1_8.cpp:(.text+0x59): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator[](unsigned int) const'
lab_10_1_8.cpp:(.text+0x97): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator[](unsigned int) const'
lab_10_1_8.cpp:(.text+0xdf): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator[](unsigned int) const'
/tmp/ccPc2eYJ.o: In function `__static_initialization_and_destruction_0(int, int)':
lab_10_1_8.cpp:(.text+0x129): undefined reference to `std::ios_base::Init::Init()'
/tmp/ccPc2eYJ.o: In function `__tcf_0':
lab_10_1_8.cpp:(.text+0x176): undefined reference to `std::ios_base::Init::~Init()'
/tmp/ccPc2eYJ.o: In function `main':
lab_10_1_8.cpp:(.text+0x199): undefined reference to `std::cout'
lab_10_1_8.cpp:(.text+0x19e): 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*)'
lab_10_1_8.cpp:(.text+0x1ac): undefined reference to `std::cin'
lab_10_1_8.cpp:(.text+0x1b1): undefined reference to `std::basic_istream<char, std::char_traits<char> >::operator>>(int&)'
lab_10_1_8.cpp:(.text+0x1ff): undefined reference to `std::cout'
lab_10_1_8.cpp:(.text+0x204): 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*)'
lab_10_1_8.cpp:(.text+0x215): undefined reference to `std::basic_ostream<char, std::char_traits<char> >::operator<<(float)'
lab_10_1_8.cpp:(.text+0x225): 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*)'
lab_10_1_8.cpp:(.text+0x233): undefined reference to `std::cin'
lab_10_1_8.cpp:(.text+0x238): undefined reference to `std::basic_istream<char, std::char_traits<char> >::operator>>(int&)'
/tmp/ccPc2eYJ.o:(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
collect2: выполнение ld завершилось с кодом возврата 1


Подскажите в чем причина такого ответа компилятора?
Спасибо сказали:
Аватара пользователя
RasenHerz
Сообщения: 1341
ОС: Arch Linux amd64

Re: Не компилируется программа на C++

Сообщение RasenHerz »

g++ -o lab-10_1_8 lab-10_1_8.cpp

либо уж, если компилить с gcc:
gcc -o lab-10_1_8 lab-10_1_8.cpp -lstdc++
Спасибо сказали:
Аватара пользователя
Portnov
Модератор
Сообщения: 1786
Статус: Матёрый линуксоид
ОС: Debian testing/unstable

Re: Не компилируется программа на C++

Сообщение Portnov »

iУведомление от модератора

У нас правило: один вопрос - одна тема. Тем более см. дату последнего поста. Отрезаю.
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Спасибо сказали:
Аватара пользователя
Nekosargot
Сообщения: 159

Re: Не компилируется программа на C++

Сообщение Nekosargot »

Нуфигасе... у меня строка
cin не пашет.
Юзаю QtCreator.
Самое главное - хз почему.
Sempron LE-140 3.8Ghz |2gb ddr2|1TB|Debian stable x86-64 + Ratpoison
Она: Женатые мужчины для меня не существуют, как класс.
Он: Только как объекты. © Bash
Спасибо сказали:
hippi90
Сообщения: 83
ОС: Debian testing

Re: Не компилируется программа на C++

Сообщение hippi90 »

#include <iostream> включили?
Спасибо сказали:
Аватара пользователя
Nekosargot
Сообщения: 159

Re: Не компилируется программа на C++

Сообщение Nekosargot »

Вполне так нормально работает... даже откомпилилась прогой CodeLite
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Sempron LE-140 3.8Ghz |2gb ddr2|1TB|Debian stable x86-64 + Ratpoison
Она: Женатые мужчины для меня не существуют, как класс.
Он: Только как объекты. © Bash
Спасибо сказали:
NickLion
Сообщения: 3408
Статус: аватар-невидимка
ОС: openSUSE Tumbleweed x86_64

Re: Не компилируется программа на C++

Сообщение NickLion »

Nekosargot писал(а):
30.11.2009 19:42
Нуфигасе... у меня строка
cin не пашет.
Юзаю QtCreator.
Самое главное - хз почему.

Консольный ввод в среде вроде вообще не работает (не очень искал решение, правда). Но если откомпиленную прогу запустить в консоли, то всё нормально работает.
Спасибо сказали:
Аватара пользователя
begin2009
Сообщения: 349
Статус: Ламер со стажем
ОС: без глюков

Re: Не компилируется программа на C++

Сообщение begin2009 »

Ерунду убрал. Использовал gcc, откуда у меня такие представления. Попробовал g++ и каюсь.
Пессимист видит темный туннель, оптимист видит свет в конце туннеля, реалист видит свет, туннель и поезд.
И только машинист видит этих трех идиотов, сидящих на рельсах.
Спасибо сказали:
Аватара пользователя
agentprog
Сообщения: 362
Статус: Ad Astra per aspera
ОС: openSUSE 11.4, Arch

Re: Не компилируется программа на C++

Сообщение agentprog »

begin2009 писал(а):
01.12.2009 20:23
Ребята, cin, cout - стантартные потоки ввода и вывода в ВИНДОВС. В ЛИНУКС stdin, stdout, которые можно использовать как имена стандартных потоков в программах, например в fgets().

а почему оно компилится и более того -- работает?
No problems - just solutions!
Спасибо сказали:
NickLion
Сообщения: 3408
Статус: аватар-невидимка
ОС: openSUSE Tumbleweed x86_64

Re: Не компилируется программа на C++

Сообщение NickLion »

begin2009 писал(а):
01.12.2009 20:23
Ребята, cin, cout - стантартные потоки ввода и вывода в ВИНДОВС. В ЛИНУКС stdin, stdout, которые можно использовать как имена стандартных потоков в программах, например в fgets().

Ой, не путайте грешное с праведным. stdin, stdout, stderr - стандартные потоки библиотеки stdio.h, предназначенной для C (тип FILE*), а cin, cout, cerr, clog - тоже стандартные потоки, только для языка C++ (тип istream/ostream).
Спасибо сказали:
Аватара пользователя
RasenHerz
Сообщения: 1341
ОС: Arch Linux amd64

Re: Не компилируется программа на C++

Сообщение RasenHerz »

begin2009 писал(а):
01.12.2009 20:23
Ребята, cin, cout - стантартные потоки ввода и вывода в ВИНДОВС. В ЛИНУКС stdin, stdout, которые можно использовать как имена стандартных потоков в программах, например в fgets().

Кто вам это сказал???
Спасибо сказали:
xshaman
Сообщения: 105
ОС: Debian

Re: Не компилируется программа на C++

Сообщение xshaman »

Ессно, cin и cout рулят! Они в стандарте языка, винды тут не причем.
По первому посту (кроме того, что надо кмпилировать g++, а не gcc)
В строке
cout << ("Vvedite Y \n");
Мож скобки то убрать? К чему они там.....
вот:
cout << "Vvedite Y \n";
Debian Squeeze.
Спасибо сказали: