Will Opublikowano 13 Maja 2007 Udostępnij Opublikowano 13 Maja 2007 Mam problem z jednym zadaniem z symfoni. Podaje tutaj go. Chodzi o to, że program, który opisany jest w książce u mnie nie działa..(nawet ściągnąłem ze strony autora ten przykład i nic) Na mój gust powinno to być tak, że do pierwszego pliku dajemy include drugi plik cpp a tylko w drugim dajemy nagl.h.. Tak może i działa ale chce wiedzieć jak rozwiązać ten problem tak jak w książce.(tym systemem) Bardzo proszę o pomoc i z góry dziex :rolleyes: // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! // Ten plik powinienes rozbic na trzy poniższe i dopiero // te trzy poddac kompilacji. // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! //############################################## // Oto tresc pliku afryka.cpp : //############################################## #include <iostream> using namespace std ; #include "nagl.h" int ile_murzynow = 9 ; int main() { cout << "Poczatek programu\n" ; funkcja_francuska(); funkcja_niemiecka(); cout << "Koniec programu \n" ; } /******************************************************/ void funkcja_egipska() { cout << "Jestem w Kairze !-------- \n" ; cout << "Na swiecie jest " << ile_murzynow << " murzynow, oraz " << ile_europejczykow << " europejczykow \n" ; } /******************************************************/ void funkcja_kenijska() { cout << "Jestem w Nairobi ! --------\n" ; cout << "Na swiecie jest " << ile_murzynow << " murzynow, oraz " << ile_europejczykow << " europejczyk˘w \n" ; } /******************************************************/ //############################################## //----------- A oto plik europa.cpp : //############################################## #include <iostream> using namespace std ; #include "nagl.h" int ile_europejczykow = 8 ; /******************************************************/ void funkcja_francuska() { cout << "Jestem w Paryzu ! *********************\n" ; cout << "Na swiecie jest "<< ile_murzynow << " murzynow, oraz " << ile_europejczykow << " europejczykow \n" ; funkcja_egipska() ; } /******************************************************/ void funkcja_niemiecka(void) { cout << "Jestem w Berlinie ! *******************\n" ; cout << "Na swiecie jest " << ile_murzynow << " murzynow, oraz " << ile_europejczykow << " europejczykow \n" ; funkcja_kenijska(); } /******************************************************/ //############################################## //-------------- A tak wyglada zawartosc pliku nagl.h //############################################## extern int ile_murzynow ; extern int ile_europejczykow ; void funkcja_egipska() ; void funkcja_kenijska() ; void funkcja_francuska() ; void funkcja_niemiecka() ; /************************************************************ ************************************************************/ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Vardi Opublikowano 14 Maja 2007 Udostępnij Opublikowano 14 Maja 2007 afryka.cpp #include <iostream> using namespace std; #include "nagl.h" int main() { cout << "Poczatek programu\n"; funkcja_francuska(); funkcja_niemiecka(); cout << "Koniec programu \n"; getch(); } /******************************************************/ void funkcja_egipska() { cout << "Jestem w Kairze !-------- \n"; cout << "Na swiecie jest " << ile_murzynow << " murzynow, oraz " << ile_europejczykow << " europejczykow \n"; } /******************************************************/ void funkcja_kenijska() { cout << "Jestem w Nairobi ! --------\n"; cout << "Na swiecie jest " << ile_murzynow << " murzynow, oraz " << ile_europejczykow << " europejczyk˘w \n"; } /******************************************************/ europa.cpp #include <iostream> using namespace std; #include "nagl.h" int ile_europejczykow = 8; int ile_murzynow = 12; /******************************************************/ void funkcja_francuska() { cout << "Jestem w Paryzu ! *********************\n"; cout << "Na swiecie jest "<< ile_murzynow << " murzynow, oraz " << ile_europejczykow << " europejczykow \n"; funkcja_egipska(); } /******************************************************/ void funkcja_niemiecka(void) { cout << "Jestem w Berlinie ! *******************\n"; cout << "Na swiecie jest " << ile_murzynow << " murzynow, oraz " << ile_europejczykow << " europejczykow \n"; funkcja_kenijska(); } nagl.h #include <conio.h> extern int ile_murzynow; extern int ile_europejczykow; void funkcja_egipska(); void funkcja_kenijska(); void funkcja_francuska(); void funkcja_niemiecka(); Dodałem getch() i wywaliłem z afryka.cpp int ile_murzynow = 9, ponieważ z tym nie będzie działać gdyż już zmienna została zainicjalizowana w europa.cpp. Kod powyżej bez problemu mi się kompiluje i uruchamia. Te pliki dodaj do projektu, nie kompiluj ich z osobna każdego. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Will Opublikowano 14 Maja 2007 Autor Udostępnij Opublikowano 14 Maja 2007 A u mnie nie działa 0o Deleting intermediate files and output files for project 'dzialaj - Win32 Debug'. --------------------Configuration: dzialaj - Win32 Debug-------------------- Compiling... europa.cpp Linking... europa.obj : error LNK2001: unresolved external symbol "void __cdecl funkcja_egipska(void)" (?funkcja_egipska@@YAXXZ) europa.obj : error LNK2001: unresolved external symbol "void __cdecl funkcja_kenijska(void)" (?funkcja_kenijska@@YAXXZ) LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main Debug/dzialaj.exe : fatal error LNK1120: 3 unresolved externals Error executing link.exe. dzialaj.exe - 4 error(s), 0 warning(s) Wyskakuje to co wcześniej miałem 0o nawet skopiowałem all i nic... Była próba kompilacji dev c++ i visual c++ 6.0 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Vardi Opublikowano 14 Maja 2007 Udostępnij Opublikowano 14 Maja 2007 Czy aby napewno dodałeś te 3 pliki do projektu który później skompilowałeś ? Ja testowałem to na Dev C++ i działa. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Will Opublikowano 14 Maja 2007 Autor Udostępnij Opublikowano 14 Maja 2007 Nom, zrobiłem tak i wyskoczył taki błąd... Oke już działa trochę pozmieniałem i jest lux dziex ^^ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Micja Opublikowano 18 Maja 2007 Udostępnij Opublikowano 18 Maja 2007 No właśnie musisz jeden projekt, a biblioteki z koncowka .h. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
dziadekkleofas Opublikowano 18 Maja 2007 Udostępnij Opublikowano 18 Maja 2007 No właśnie musisz jeden projekt, a biblioteki z koncowka .h. Czy twoja forma cielesna jest wyposażona w organ odpowiedzialny za kontrolę innych narządów i myślenia, lub czy masz jakieś zaburzenia poczuć czasoprzestrzennych? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się