ďťż

Ładny brzuch

Witam,
Mam problem z C++. Uczę się z książki Symfonia C++ i właśnie przerabiam dział 5.11 i jest tam program w którym jest pokazane jak zastosować nagłówki. Program składa się z trzech plików:

Afryka.cpp
#include <iostream> #include <stdlib.h> #include "nagl.h" int ile_murzynow = 9; using namespace std; int main(int argc, char *argv[]) {  cout << "Poczatek programu\n";  funkcja_francuska();  funkcja_niemiecka();  cout << "Koniec Programu\n";  system("PAUSE");  return 0; } int funkcja_egipska() {    cout << "Jestem w Kairze!------ \n";    cout << "Na swiecie jest " << ile_murzynow << " murzynow, oraz " << ile_europejczykow    << " europejczykow \n"; } int funckja_kenijska() {    cout << "Jestem w Narobi! -----\n";    cout << "Na swiecie jest " << ile_murzynow << " murzynow, oraz " << ile_europejczykow    << " europejczykow \n"; }    

Europa.cpp
#include <iostream> #include <stdlib.h> #include "nagl.h" int ile_europejczykow = 8; using namespace std; int funkcja_francuska() {    cout << "Jestem w Paryzu! ***\n";    cout << "Na swiecie jest " << ile_murzynow << " murzynow, oraz " << ile_europejczykow    << " europejczykow \n";    funkcja_egipska(); } int funkcja_niemiecka() {    cout << "Jestem w Berlinie! ***\n";    cout << "Na swiecie jest " << ile_murzynow << " murzynow, oraz " << ile_europejczykow    << " europejczykow \n";    funkcja_kenijska(); }

Nagl.h
extern int ile_murzynow; extern int ile_europejczykow; int funkcja_egipska(); int funkcja_kenijska(); int funkcja_francuska(); int funkcja_niemiecka();

I chodzi o to, że mam problem z kompilacją. Gdy próbuje kompilować pokolei pliki wyskakują błędy, np. [Linker error] undefined reference to `funkcja_francuska()'. I zupełnie nie wiem co zrobić. Prosze o pomoc.
Pozdrawiam

P.S.
Używam Dev-C++ 4.9.9.0



w kod się dokładniej nie wczytywałem ale powinieneś je dodać do projektu jeżeli używasz Dev tak żeby były w jednym katalogu i żeby kmpilator o nich wiedział i powinno być wszystko OK.

Wszystkie pliki są w jednym katalogu i gdy je pisałem kompilator traktował je jako jeden projekt. <_<

sam niedawno to przerabiałem i nie było problemów. zabrałem się za analizę Twojego kodu w poszukiwaniu poważnych błędów, a rozwiązanie (jak to zwykle bywa)
okazało się śmieszne ;)
... int funckja_kenijska() ...
przeczytaj sobie kilka razy tą linijkę z Twojego kodu, a jeśli nadal nie wiesz o co chodzi to przeczytaj tą linijkę 200 razy i porównaj z tym co jest w książce.

literówki rulez :P



literówka literówką ale te funkcje nic nie zwracają a są typu int

Literówke poprawiłem, ale błąd nadal występuje <_< . I o co chodzi z tym linkowaniem ? Jak je połączyć ?


Literówke poprawiłem, ale błąd nadal występuje <_< . I o co chodzi z tym linkowaniem ? Jak je połączyć ?


a zmieniłaeś typ funkcji wszystkich!! i w definicjach w plikach .cpp i w deklaracji w pliku .h z int na void ??

albo bez zmiany typu dopisz do każdej funkcji :
return 0;


3. Obie rzeczy na raz - nie działa.

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •