Nekronomik Temat założony przez niniejszego użytkownika |
Code Blocks allegro 5,Assertion failed: bitmap » 2016-05-27 19:45:31 Witam. Gdy kompiluje program i się uruchamia dostaje taki oto komunikat : Assertion failed: bitmap, file d:\Libraries\build\allegro\src\allegro-git\allegro-git\src\bitmap_draw.c, line 138 gdy usuwam bitmape to dostaje po odpaleniu kolejny komunikat Assertion failed: font. To tak jak by nie mógł znaleźć bitmapy i font w folderze, lecz gdy odpalam program z pliku exe to wszystko działa dobrze. Sprawdzałem ścieżkę d:\Libraries\build\allegro\src\allegro-git\allegro-git\src\bitmap_draw.c i nie wiem skąd Code Blocks ją ma jak u mnie nawet d:\ nie istnieje. Na Dev C++ wszystko działa dobrze. |
|
j23 |
» 2016-05-28 10:53:35 Znajdź plik bitmap_draw.c i zobacz, co znajduje się w linii 138 (chodzi o asercję).
|
|
Nekronomik Temat założony przez niniejszego użytkownika |
» 2016-05-28 18:40:48 plik bitmap_draw.c nie istnieje. |
|
j23 |
» 2016-05-28 18:54:38 Aha, czyli ściągnąłeś same binarki (i nagłówki). To już wiadomo skąd ta "dziwna" ścieżka. Gugel znalazł mi plik bitmap_draw.c: void al_draw_tinted_bitmap( ALLEGRO_BITMAP * bitmap, ALLEGRO_COLOR tint, float dx, float dy, int flags ) { ASSERT( bitmap ); al_draw_tinted_bitmap_region( bitmap, tint, 0, 0, bitmap->w, bitmap->h, dx, dy, flags ); } Coś mi się wydaje, że bitmap jest NULL, a nie powinien. Sprawdź, czy o czymś u siebie nie zapomniałeś. |
|
Nekronomik Temat założony przez niniejszego użytkownika |
» 2016-05-28 19:15:46 Raczej o niczym nie mogłem zapomnieć bo plik exe normalnie mi się otwiera i wyświetla grafikę. Ten błąd pojawia się tylko wtedy gdy w code blocks klikam na kompiluj/uruchom, błąd wyświetla się w konsoli(program się normalnie kompiluje). |
|
1aam2am1 |
» 2016-05-28 19:34:18 Czyli twój program uruchomiony w code::block ma inną ścieżkę niż uruchomiony normalnie przez co nie jest wczytywana bitmapa gdyż nie znajduje pliku. |
|
j23 |
» 2016-05-28 19:38:53 @Nekronomik: dobrze raczej też nie jest, skoro dostajesz błąd asercji. Jeśli asercja powoduje zatrzymanie działania, to dobrze. Użyj okna call stack, by zobaczyć z którego miejsca twojego kodu jest wystrzał, wtedy sprawdź, jeśli to możliwe, czy bitmap ma poprawną wartość.
ps. to, że coś się normalnie kompiluje, nie oznacza od razu, że jest w 100% poprawnie napisane. |
|
Nekronomik Temat założony przez niniejszego użytkownika |
» 2016-05-28 19:48:03 No ale Dev C++ bez problemu to kompiluje. Program odpala bez tych linijek kodu: al_draw_bitmap (test,10,10,ALLEGRO_FLIP_VERTICAL | ALLEGRO_FLIP_HORIZONTAL);//test al_draw_textf( czcionka, al_map_rgb( 230, 230, 230 ), 200, 10, ALLEGRO_ALIGN_CENTRE, opcje.login.c_str()); al_draw_textf( czcionka, al_map_rgb( 230, 230, 230 ), 200, 40, ALLEGRO_ALIGN_CENTRE, opcje.haslo.c_str()); al_draw_textf( czcionka, al_map_rgb( 230, 230, 230 ), 200, 70, ALLEGRO_ALIGN_CENTRE, "Logowanie"); Całą kopie zrobiłem z dev'a |
|
« 1 » 2 3 |