haakan Temat założony przez niniejszego użytkownika |
[c++][SFML 2.0] Code::Blocks "undefined reference" » 2012-10-30 17:52:28 Podczas kompilacji wyskakuje błąd undefined reference pliki dostępne są tutaj: https://github.com/kumdzio/New_World |
|
DejaVu |
» 2012-10-30 17:54:53 |
|
haakan Temat założony przez niniejszego użytkownika |
» 2012-10-30 17:57:36 Nie mam problemu z samym SFML błąd dotyczy metod napisanych przezemnie w CGame.hpp @DejaVu link nie rozwiązuje mojego problemu. |
|
DejaVu |
» 2012-10-30 17:59:22 No jak nie podałeś dokładnego błędu kompilacji to jak mamy rozwiązać problem? :) Skoro błąd dotyczy Twoich klas to problem nie jest związany z SFML. |
|
haakan Temat założony przez niniejszego użytkownika |
» 2012-10-30 18:01:25 @DejaVu właśnie dlatego podałem link do plików żeby można było przejrzeć i stwierdzic dokładnie w czym leży problem. |
|
DejaVu |
» 2012-10-30 18:06:48 Błędna polityka. Problem definiuje się w pierwszym poście i nie poprzez link, bowiem za pół roku link nie będzie działał, a temat na forum pozostanie. Problemy w programowaniu są podobne, a rozwiązywać indywidualnie problemów w obcym projekcie to chyba nie ma specjalnego sensu :) |
|
haakan Temat założony przez niniejszego użytkownika |
» 2012-10-30 18:17:18 W takim razie: To są kody źródłowe: Plik main.cpp: #include <SFML/Window.hpp> #include"CGame.hpp"
int main( int argc, char * argv[] ) { CGame game( 600, 400, false ); game.Run(); return 0; }
Plik CGame.hpp #define CGame_hpp #include <SFML/Graphics.hpp> #include <SFML/System.hpp> class CGame { public: CGame( size_t m_okno_szerokosc, size_t m_okno_wysokosc, bool m_fullscreen ); ~CGame(); void Run(); private: void Rysuj(); void Aktualizuj( double uplyw_czasu ); void ZmienRozdzielczosc( size_t szerokosc, size_t wysokosc ); void ObslugaZdarzen(); size_t m_okno_szerokosc; size_t m_okno_wysokosc; bool m_fullscreen; bool is_done; sf::RenderWindow * m_okno_glowne; }; #endif Plik CGame.cpp: #include"CGame.hpp"
void CGame::Run() { sf::RenderWindow okno_glowne( sf::VideoMode( 600, 400 ), "New World" ); m_okno_glowne =& okno_glowne; ZmienRozdzielczosc( m_okno_szerokosc, m_okno_wysokosc ); okno_glowne.setFramerateLimit( 60 ); is_done = false; sf::Clock zegar_aktualizacji; sf::Time czas = zegar_aktualizacji.getElapsedTime(); while( !is_done ) { CGame::ObslugaZdarzen(); czas = zegar_aktualizacji.getElapsedTime(); if( czas.asMilliseconds() > 0 ) { Aktualizuj( czas.asMilliseconds() ); } Rysuj(); } okno_glowne.close(); } void CGame::Rysuj() { ( * m_okno_glowne ).clear(); ( * m_okno_glowne ).display(); } void CGame::ObslugaZdarzen() { if( is_done ) { return; } sf::Event zdarzenie; while(( * m_okno_glowne ).pollEvent( zdarzenie ) ) { if( zdarzenie.type == sf::Event::Closed ) { is_done = true; ( * m_okno_glowne ).close(); break; } else if( zdarzenie.type == sf::Event::Resized ) { ZmienRozdzielczosc( zdarzenie.size.width, zdarzenie.size.height ); } } } void CGame::ZmienRozdzielczosc( size_t szerokosc, size_t wysokosc ) { sf::Vector2u rozdzielczosc; rozdzielczosc.x = szerokosc; rozdzielczosc.y = wysokosc; ( * m_okno_glowne ).setSize( rozdzielczosc ); } A to są błędy które wyskakują mi w Code::Blocks podczas kompilacji: ||=== New_World, Debug ===| obj\Debug\main.o||In function `main':| D:\C++\New_World\main.cpp|6|undefined reference to `CGame::CGame(unsigned int, unsigned int, bool)'| D:\C++\New_World\main.cpp|9|undefined reference to `CGame::~CGame()'| D:\C++\New_World\main.cpp|9|undefined reference to `CGame::~CGame()'| D:\C++\New_World\CGame.cpp|19|undefined reference to `CGame::Aktualizuj(double)'| ||=== Build finished: 4 errors, 0 warnings ===| |
|
jsc |
» 2012-10-30 18:19:48 W twoim pliku projektu brakuje plików źródłowych. @DejaVu Prawdziwy problem tkwi w tej litanii (a zarobiłem wszystko jak w http://www.sfml-dev.org/tutorials/2.0/start-cb.php wersja statyczna): ||=== New_World, Debug ===| obj\Debug\main.o||In function `main':| D:\Documents and Settings\jsc\Pulpit\ehf\kumdzio-New_World-0667ddd\main.cpp|6|undefined reference to `CGame::CGame(unsigned int, unsigned int, bool)'| D:\Documents and Settings\jsc\Pulpit\ehf\kumdzio-New_World-0667ddd\main.cpp|9|undefined reference to `CGame::~CGame()'| D:\Documents and Settings\jsc\Pulpit\ehf\kumdzio-New_World-0667ddd\main.cpp|9|undefined reference to `CGame::~CGame()'| obj\Debug\CGame.o||In function `_ZN5CGame3RunEv':| D:\Documents and Settings\jsc\Pulpit\ehf\kumdzio-New_World-0667ddd\CGame.cpp|19|undefined reference to `CGame::Aktualizuj(double)'| C:\lib\SFML-2.0-rc\lib\libsfml-graphics-s.a(RenderWindow.cpp.obj):RenderWindow.cpp|| undefined reference to `___gxx_personality_sj0'| C:\lib\SFML-2.0-rc\lib\libsfml-graphics-s.a(RenderWindow.cpp.obj):RenderWindow.cpp|| undefined reference to `__Unwind_SjLj_Register'| C:\lib\SFML-2.0-rc\lib\libsfml-graphics-s.a(RenderWindow.cpp.obj):RenderWindow.cpp|| undefined reference to `__Unwind_SjLj_Unregister'| C:\lib\SFML-2.0-rc\lib\libsfml-graphics-s.a(RenderWindow.cpp.obj):RenderWindow.cpp|| undefined reference to `__Unwind_SjLj_Resume'| C:\lib\SFML-2.0-rc\lib\libsfml-graphics-s.a(RenderWindow.cpp.obj):RenderWindow.cpp|| undefined reference to `___gxx_personality_sj0'| C:\lib\SFML-2.0-rc\lib\libsfml-graphics-s.a(RenderWindow.cpp.obj):RenderWindow.cpp|| undefined reference to `__Unwind_SjLj_Register'| C:\lib\SFML-2.0-rc\lib\libsfml-graphics-s.a(RenderWindow.cpp.obj):RenderWindow.cpp|| undefined reference to `__Unwind_SjLj_Unregister'| C:\lib\SFML-2.0-rc\lib\libsfml-graphics-s.a(RenderWindow.cpp.obj):RenderWindow.cpp|| undefined reference to `__Unwind_SjLj_Resume'| C:\lib\SFML-2.0-rc\lib\libsfml-graphics-s.a(RenderWindow.cpp.obj):RenderWindow.cpp|| undefined reference to `___gxx_personality_sj0'| C:\lib\SFML-2.0-rc\lib\libsfml-graphics-s.a(RenderWindow.cpp.obj):RenderWindow.cpp|| undefined reference to `__Unwind_SjLj_Register'| C:\lib\SFML-2.0-rc\lib\libsfml-graphics-s.a(RenderWindow.cpp.obj):RenderWindow.cpp|| undefined reference to `__Unwind_SjLj_Unregister'| C:\lib\SFML-2.0-rc\lib\libsfml-graphics-s.a(RenderWindow.cpp.obj):RenderWindow.cpp|| undefined reference to `__Unwind_SjLj_Resume'| C:\lib\SFML-2.0-rc\lib\libsfml-graphics-s.a(RenderWindow.cpp.obj):RenderWindow.cpp|| undefined reference to `___gxx_personality_sj0'| C:\lib\SFML-2.0-rc\lib\libsfml-graphics-s.a(RenderWindow.cpp.obj):RenderWindow.cpp|| undefined reference to `__Unwind_SjLj_Register'| C:\lib\SFML-2.0-rc\lib\libsfml-graphics-s.a(RenderWindow.cpp.obj):RenderWindow.cpp|| undefined reference to `__Unwind_SjLj_Unregister'| C:\lib\SFML-2.0-rc\lib\libsfml-graphics-s.a(RenderWindow.cpp.obj):RenderWindow.cpp|| undefined reference to `__Unwind_SjLj_Resume'| C:\lib\SFML-2.0-rc\lib\libsfml-graphics-s.a(RenderWindow.cpp.obj):RenderWindow.cpp|| undefined reference to `___gxx_personality_sj0'| C:\lib\SFML-2.0-rc\lib\libsfml-graphics-s.a(RenderWindow.cpp.obj):RenderWindow.cpp|| undefined reference to `__Unwind_SjLj_Register'| C:\lib\SFML-2.0-rc\lib\libsfml-graphics-s.a(RenderWindow.cpp.obj):RenderWindow.cpp|| undefined reference to `__Unwind_SjLj_Unregister'| C:\lib\SFML-2.0-rc\lib\libsfml-graphics-s.a(RenderWindow.cpp.obj):RenderWindow.cpp|| undefined reference to `__Unwind_SjLj_Resume'| C:\lib\SFML-2.0-rc\lib\libsfml-graphics-s.a(RenderWindow.cpp.obj):RenderWindow.cpp|| undefined reference to `___gxx_personality_sj0'| C:\lib\SFML-2.0-rc\lib\libsfml-graphics-s.a(RenderWindow.cpp.obj):RenderWindow.cpp|| undefined reference to `__Unwind_SjLj_Register'| C:\lib\SFML-2.0-rc\lib\libsfml-graphics-s.a(RenderWindow.cpp.obj):RenderWindow.cpp|| undefined reference to `__Unwind_SjLj_Unregister'| C:\lib\SFML-2.0-rc\lib\libsfml-graphics-s.a(RenderWindow.cpp.obj):RenderWindow.cpp|| undefined reference to `__Unwind_SjLj_Resume'| C:\lib\SFML-2.0-rc\lib\libsfml-graphics-s.a(RenderWindow.cpp.obj):RenderWindow.cpp|| undefined reference to `___gxx_personality_sj0'| C:\lib\SFML-2.0-rc\lib\libsfml-graphics-s.a(RenderWindow.cpp.obj):RenderWindow.cpp|| undefined reference to `__Unwind_SjLj_Register'| C:\lib\SFML-2.0-rc\lib\libsfml-graphics-s.a(RenderWindow.cpp.obj):RenderWindow.cpp|| undefined reference to `__Unwind_SjLj_Unregister'| C:\lib\SFML-2.0-rc\lib\libsfml-graphics-s.a(RenderWindow.cpp.obj):RenderWindow.cpp|| undefined reference to `__Unwind_SjLj_Resume'| C:\lib\SFML-2.0-rc\lib\libsfml-graphics-s.a(RenderWindow.cpp.obj):RenderWindow.cpp|| undefined reference to `___gxx_personality_sj0'| C:\lib\SFML-2.0-rc\lib\libsfml-graphics-s.a(RenderWindow.cpp.obj):RenderWindow.cpp|| undefined reference to `__Unwind_SjLj_Register'| C:\lib\SFML-2.0-rc\lib\libsfml-graphics-s.a(RenderWindow.cpp.obj):RenderWindow.cpp|| undefined reference to `__Unwind_SjLj_Unregister'| C:\lib\SFML-2.0-rc\lib\libsfml-graphics-s.a(RenderWindow.cpp.obj):RenderWindow.cpp|| undefined reference to `__Unwind_SjLj_Resume'| C:\lib\SFML-2.0-rc\lib\libsfml-graphics-s.a(RenderWindow.cpp.obj):RenderWindow.cpp|| undefined reference to `___gxx_personality_sj0'| C:\lib\SFML-2.0-rc\lib\libsfml-graphics-s.a(RenderWindow.cpp.obj):RenderWindow.cpp|| undefined reference to `__Unwind_SjLj_Register'| C:\lib\SFML-2.0-rc\lib\libsfml-graphics-s.a(RenderWindow.cpp.obj):RenderWindow.cpp|| undefined reference to `__Unwind_SjLj_Unregister'| C:\lib\SFML-2.0-rc\lib\libsfml-graphics-s.a(RenderWindow.cpp.obj):RenderWindow.cpp|| undefined reference to `__Unwind_SjLj_Resume'| C:\lib\SFML-2.0-rc\lib\libsfml-graphics-s.a(RenderWindow.cpp.obj):RenderWindow.cpp|| undefined reference to `___gxx_personality_sj0'| C:\lib\SFML-2.0-rc\lib\libsfml-graphics-s.a(RenderWindow.cpp.obj):RenderWindow.cpp|| undefined reference to `__Unwind_SjLj_Register'| C:\lib\SFML-2.0-rc\lib\libsfml-graphics-s.a(RenderWindow.cpp.obj):RenderWindow.cpp|| undefined reference to `__Unwind_SjLj_Unregister'| C:\lib\SFML-2.0-rc\lib\libsfml-graphics-s.a(RenderWindow.cpp.obj):RenderWindow.cpp|| undefined reference to `__Unwind_SjLj_Resume'| C:\lib\SFML-2.0-rc\lib\libsfml-graphics-s.a(Image.cpp.obj):Image.cpp|| undefined reference to `___gxx_personality_sj0'| C:\lib\SFML-2.0-rc\lib\libsfml-graphics-s.a(Image.cpp.obj):Image.cpp|| undefined reference to `__Unwind_SjLj_Register'| C:\lib\SFML-2.0-rc\lib\libsfml-graphics-s.a(Image.cpp.obj):Image.cpp|| undefined reference to `__Unwind_SjLj_Unregister'| C:\lib\SFML-2.0-rc\lib\libsfml-graphics-s.a(Image.cpp.obj):Image.cpp|| undefined reference to `__Unwind_SjLj_Resume'| C:\lib\SFML-2.0-rc\lib\libsfml-graphics-s.a(Image.cpp.obj):Image.cpp|| undefined reference to `___gxx_personality_sj0'| C:\lib\SFML-2.0-rc\lib\libsfml-graphics-s.a(Image.cpp.obj):Image.cpp|| undefined reference to `__Unwind_SjLj_Register'| ||More errors follow but not being shown.| ||Edit the max errors limit in compiler options...| ||=== Build finished: 50 errors, 0 warnings ===|
|
|
« 1 » 2 |