Модератор: Модераторы разделов
Doping
Сообщения: 1
Сообщение
Doping » 30.11.2009 16:44
Всем привет!
Написал вот такой код:
Код: Выделить всё
#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
Сообщение
RasenHerz » 30.11.2009 17:04
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
Сообщение
Portnov » 30.11.2009 18:44
i Уведомление от модератора
У нас правило: один вопрос - одна тема. Тем более см. дату последнего поста. Отрезаю.
Nekosargot
Сообщения: 159
Сообщение
Nekosargot » 30.11.2009 19:42
Нуфигасе... у меня строка
cin не пашет.
Юзаю QtCreator.
Самое главное - хз почему.
Sempron LE-140 3.8Ghz |2gb ddr2|1TB|Debian stable x86-64 + Ratpoison
Она: Женатые мужчины для меня не существуют, как класс.
Он: Только как объекты. © Bash
hippi90
Сообщения: 83
ОС: Debian testing
Сообщение
hippi90 » 30.11.2009 20:01
#include <iostream> включили?
Nekosargot
Сообщения: 159
Сообщение
Nekosargot » 30.11.2009 20:06
Вполне так нормально работает... даже откомпилилась прогой CodeLite
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Sempron LE-140 3.8Ghz |2gb ddr2|1TB|Debian stable x86-64 + Ratpoison
Она: Женатые мужчины для меня не существуют, как класс.
Он: Только как объекты. © Bash
NickLion
Сообщения: 3408
Статус: аватар-невидимка
ОС: openSUSE Tumbleweed x86_64
Сообщение
NickLion » 01.12.2009 18:01
Nekosargot писал(а): ↑ 30.11.2009 19:42
Нуфигасе... у меня строка
cin не пашет.
Юзаю QtCreator.
Самое главное - хз почему.
Консольный ввод в среде вроде вообще не работает (не очень искал решение, правда). Но если откомпиленную прогу запустить в консоли, то всё нормально работает.
begin2009
Сообщения: 349
Статус: Ламер со стажем
ОС: без глюков
Сообщение
begin2009 » 01.12.2009 20:23
Ерунду убрал. Использовал gcc, откуда у меня такие представления. Попробовал g++ и каюсь.
Пессимист видит темный туннель, оптимист видит свет в конце туннеля, реалист видит свет, туннель и поезд.
И только машинист видит этих трех идиотов, сидящих на рельсах.
agentprog
Сообщения: 362
Статус: Ad Astra per aspera
ОС: openSUSE 11.4, Arch
Сообщение
agentprog » 01.12.2009 21:06
begin2009 писал(а): ↑ 01.12.2009 20:23
Ребята, cin, cout - стантартные потоки ввода и вывода в ВИНДОВС. В ЛИНУКС stdin, stdout, которые можно использовать как имена стандартных потоков в программах, например в fgets().
а почему оно компилится и более того -- работает?
No problems - just solutions!
NickLion
Сообщения: 3408
Статус: аватар-невидимка
ОС: openSUSE Tumbleweed x86_64
Сообщение
NickLion » 01.12.2009 21:24
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
Сообщение
RasenHerz » 01.12.2009 21:26
begin2009 писал(а): ↑ 01.12.2009 20:23
Ребята, cin, cout - стантартные потоки ввода и вывода в ВИНДОВС. В ЛИНУКС stdin, stdout, которые можно использовать как имена стандартных потоков в программах, например в fgets().
Кто вам это сказал???
xshaman
Сообщения: 105
ОС: Debian
Сообщение
xshaman » 01.12.2009 21:40
Ессно, cin и cout рулят! Они в стандарте языка, винды тут не причем.
По первому посту (кроме того, что надо кмпилировать g++, а не gcc)
В строке
cout << ("Vvedite Y \n");
Мож скобки то убрать? К чему они там.....
вот:
cout << "Vvedite Y \n";
Debian Squeeze.