Нужно откомпилить один кусок кода на C++. gcc выдает странные ошибки. Дошел до того, что стал брать примеры из книжек. Вот примитивный кусок кода
#include <iostream> using namespace std;
int main() { int i, j; double d;
i = 10; j = 20; d = 99.101;
cout << "Вот несколько чисел: "; cout << i; cout << ' '; cout << j; cout << ' '; cout << d;
return 0; }
Вот что получается
14:20:38[tigra@tigra3]~/bin/tmp/examples> gcc ./Exampl1_1.cpp
/tmp/ccU83y8x.o(.text+0x37): In function `main': : undefined reference to `std::cout' /tmp/ccU83y8x.o(.text+0x3c): In function `main': : 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/ccU83y8x.o(.text+0x4a): In function `main': : undefined reference to `std::cout' /tmp/ccU83y8x.o(.text+0x4f): In function `main': : undefined reference to `std::basic_ostream<char, std::char_traits<char> >::operator<<(int)' /tmp/ccU83y8x.o(.text+0x5c): In function `main': : undefined reference to `std::cout' /tmp/ccU83y8x.o(.text+0x61): In function `main': : 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)' /tmp/ccU83y8x.o(.text+0x6f): In function `main': : undefined reference to `std::cout' /tmp/ccU83y8x.o(.text+0x74): In function `main': : undefined reference to `std::basic_ostream<char, std::char_traits<char> >::operator<<(int)' /tmp/ccU83y8x.o(.text+0x81): In function `main': : undefined reference to `std::cout' /tmp/ccU83y8x.o(.text+0x86): In function `main': : 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)' /tmp/ccU83y8x.o(.text+0x97): In function `main': : undefined reference to `std::cout' /tmp/ccU83y8x.o(.text+0x9c): In function `main': : undefined reference to `std::basic_ostream<char, std::char_traits<char> >::operator<<(double)' /tmp/ccU83y8x.o(.text+0xc8): In function `__static_initialization_and_destruction_0(int, int)': : undefined reference to `std::ios_base::Init::Init[in-charge]()' /tmp/ccU83y8x.o(.text+0xf7): In function `__tcf_0': : undefined reference to `std::ios_base::Init::~Init [in-charge]()' /tmp/ccU83y8x.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0' collect2: ld returned 1 exit status
ЧТО ДЕЛАТЬ? Попробовал на другой машине - тоже самое. И там и там дистр SuSE 9.1
14:20:38[tigra@tigra3]~/bin/tmp/examples> gcc -v Reading specs from /usr/lib/gcc-lib/i586-suse-linux/3.3.3/specs Configured with: ../configure --enable-threads=posix --prefix=/usr --with-local-prefix=/usr/local --infodir=/usr/share/info --mandir=/usr/share/man --enable-languages=c,c++,f77,objc,java,ada --disable-checking --libdir=/usr/lib --enable-libgcj --with-gxx-include-dir=/usr/include/g++ --with-slibdir=/lib --with-system-zlib --enable-shared --enable-__cxa_atexit i586-suse-linux Thread model: posix gcc version 3.3.3 (SuSE Linux)
Странно это как-то. Посоветуйте, пожалуйста, что не так?