Ĺadny brzuch
Mam kod:
#include <iostream> using namespace std; int main(int argc, char *argv[]) { cout << "Hello world!" << endl; return 0; };
i po komędziegcc main.cpp
wywala mi błędy:/home/michal/tmp/ccNS52mO.o(.text+0x14): In function `main': : undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)' /home/michal/tmp/ccNS52mO.o(.text+0x21): In function `main': : undefined reference to `std::cout' /home/michal/tmp/ccNS52mO.o(.text+0x26): 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*)' /home/michal/tmp/ccNS52mO.o(.text+0x2f): In function `main': : undefined reference to `std::basic_ostream<char, std::char_traits<char> >::operator<<(std::basic_ostream<char, std::char_traits<char> >& (*)(std::basic_ostream<char, std::char_traits<char> >&))' /home/michal/tmp/ccNS52mO.o(.text+0x5c): In function `__static_initialization_and_destruction_0(int, int)': : undefined reference to `std::ios_base::Init::Init[in-charge]()' /home/michal/tmp/ccNS52mO.o(.text+0x8b): In function `__tcf_0': : undefined reference to `std::ios_base::Init::~Init [in-charge]()' /home/michal/tmp/ccNS52mO.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0' collect2: ld returned 1 exit status
Zaczynam dopiero kodzić pod linuchem więc prosze nie bijcie!
kompiluj poleceniem g++ a nie gcc. przez gcc tez sie da, ale trzeba recznie c++-sowe liby dodac, g++ dodaje je z automatu.
kompiluj poleceniem g++ a nie gcc. przez gcc tez sie da, ale trzeba recznie c++-sowe liby dodac, g++ dodaje je z automatu.
Wydaje mi się, że źle zinterpretowałeś polecenie - sądzę, że jeśli było w nim napisane "gcc" to chodziło o "g++" - wszak te programy są wzajemnie połączone w jednym projekcie.
A co do biblioteki to po pierwsze wypada dodać libstdc++. ;)
Użytkownik Chmurek edytował ten post 02 kwiecień 2006, 16:39
Wydaje mi się, że źle zinterpretowałeś polecenie - sądzę, że jeśli było w nim napisane "gcc" to chodziło o "g++" - wszak te programy są wzajemnie połączone w jednym projekcie.
A co do biblioteki to po pierwsze wypada dodać libstdc++. ;)
Za pomocą printf(); wyprowadzamy informacje na monitor komputera, składnia wyglądad następująco:
printf("jakis tam sobie takst");
Jeżeli masz zmienne, które chcesz wyświetlić na ekranie to robisz to tak:
printf("tekst %d",zmienna);
gdzie %d - dla liczb całkowitych (int), oprócz tego jest jeszcze dla liczb typu float inna literka ale nie pamiętam :)
Teraz scanf(); - dzięki temu poleceniu wczytujemy dane ze standardowego wejścia (klawiatura). Składnia:
scanf("%d",&zmienna);
gdzie %d znacza to samo co przy printf();
O wiele wygodniejsze w użyciu jest kożystanie z cin>> i cout<<. Bo przy cin>> nie trzeba podawać jakiego typu dane bedziemy przyjować, przyjmuje wszystko, tak samo z cout<< też nie trzeba podawać co będziemy wyswietlać wstawiamy tylko zmienna. Np:
cin>>zmienna;
cout<<zmienna;
OK, ale co w tym kodzie jest źle:
#include <stdio.h> using namespace std; int main(int argc, char *argv[]) { float x; printf("Podaj liczbe (float):"); scanf("%f",&x); printf("podałeś: %f",x); return 0; };
/home/michal/tmp/ccHUPtcJ.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
Użytkownik logic edytował ten post 03 kwiecień 2006, 13:41
main.cpp:1:20: libstdc++: No such file or directory
Hehe. ;)
Przecież masz ją podlinkować, a nie napisać #include <libstdc++>, co zapewne zrobiłeś. ;)
Co do kodu, który podałeś to albo usuń "using namespace std" i kompiluj gcc jako C, albo dodaj "#include <iostream>" na początku i kompiluj jako C++.
Użytkownik Chmurek edytował ten post 03 kwiecień 2006, 13:48
A tak przy okazji czy możecie dać jakiś link albo sami opisać biblioteke stdio.h, chodzi mi o funkcje printif() i scanf().
A tak poza tym to
man printf man scanf
;)
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
#include <iostream> using namespace std; int main(int argc, char *argv[]) { cout << "Hello world!" << endl; return 0; };
i po komędziegcc main.cpp
wywala mi błędy:/home/michal/tmp/ccNS52mO.o(.text+0x14): In function `main': : undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)' /home/michal/tmp/ccNS52mO.o(.text+0x21): In function `main': : undefined reference to `std::cout' /home/michal/tmp/ccNS52mO.o(.text+0x26): 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*)' /home/michal/tmp/ccNS52mO.o(.text+0x2f): In function `main': : undefined reference to `std::basic_ostream<char, std::char_traits<char> >::operator<<(std::basic_ostream<char, std::char_traits<char> >& (*)(std::basic_ostream<char, std::char_traits<char> >&))' /home/michal/tmp/ccNS52mO.o(.text+0x5c): In function `__static_initialization_and_destruction_0(int, int)': : undefined reference to `std::ios_base::Init::Init[in-charge]()' /home/michal/tmp/ccNS52mO.o(.text+0x8b): In function `__tcf_0': : undefined reference to `std::ios_base::Init::~Init [in-charge]()' /home/michal/tmp/ccNS52mO.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0' collect2: ld returned 1 exit status
Zaczynam dopiero kodzić pod linuchem więc prosze nie bijcie!
kompiluj poleceniem g++ a nie gcc. przez gcc tez sie da, ale trzeba recznie c++-sowe liby dodac, g++ dodaje je z automatu.
kompiluj poleceniem g++ a nie gcc. przez gcc tez sie da, ale trzeba recznie c++-sowe liby dodac, g++ dodaje je z automatu.

Wydaje mi się, że źle zinterpretowałeś polecenie - sądzę, że jeśli było w nim napisane "gcc" to chodziło o "g++" - wszak te programy są wzajemnie połączone w jednym projekcie.
A co do biblioteki to po pierwsze wypada dodać libstdc++. ;)
Użytkownik Chmurek edytował ten post 02 kwiecień 2006, 16:39
Wydaje mi się, że źle zinterpretowałeś polecenie - sądzę, że jeśli było w nim napisane "gcc" to chodziło o "g++" - wszak te programy są wzajemnie połączone w jednym projekcie.
A co do biblioteki to po pierwsze wypada dodać libstdc++. ;)

Za pomocą printf(); wyprowadzamy informacje na monitor komputera, składnia wyglądad następująco:
printf("jakis tam sobie takst");
Jeżeli masz zmienne, które chcesz wyświetlić na ekranie to robisz to tak:
printf("tekst %d",zmienna);
gdzie %d - dla liczb całkowitych (int), oprócz tego jest jeszcze dla liczb typu float inna literka ale nie pamiętam :)
Teraz scanf(); - dzięki temu poleceniu wczytujemy dane ze standardowego wejścia (klawiatura). Składnia:
scanf("%d",&zmienna);
gdzie %d znacza to samo co przy printf();
O wiele wygodniejsze w użyciu jest kożystanie z cin>> i cout<<. Bo przy cin>> nie trzeba podawać jakiego typu dane bedziemy przyjować, przyjmuje wszystko, tak samo z cout<< też nie trzeba podawać co będziemy wyswietlać wstawiamy tylko zmienna. Np:
cin>>zmienna;
cout<<zmienna;
OK, ale co w tym kodzie jest źle:
#include <stdio.h> using namespace std; int main(int argc, char *argv[]) { float x; printf("Podaj liczbe (float):"); scanf("%f",&x); printf("podałeś: %f",x); return 0; };
/home/michal/tmp/ccHUPtcJ.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
Użytkownik logic edytował ten post 03 kwiecień 2006, 13:41
main.cpp:1:20: libstdc++: No such file or directory
Hehe. ;)
Przecież masz ją podlinkować, a nie napisać #include <libstdc++>, co zapewne zrobiłeś. ;)
Co do kodu, który podałeś to albo usuń "using namespace std" i kompiluj gcc jako C, albo dodaj "#include <iostream>" na początku i kompiluj jako C++.
Użytkownik Chmurek edytował ten post 03 kwiecień 2006, 13:48
A tak przy okazji czy możecie dać jakiś link albo sami opisać biblioteke stdio.h, chodzi mi o funkcje printif() i scanf().

A tak poza tym to
man printf man scanf
;)