Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[c++, Allegro.h] Natychmiastowy crash programu ("Gry") po przeniesieniu na inną maszynę

Ostatnio zmodyfikowano 2015-08-26 10:11
Autor Wiadomość
TheMesoria
Temat założony przez niniejszego użytkownika
[c++, Allegro.h] Natychmiastowy crash programu ("Gry") po przeniesieniu na inną maszynę
» 2015-08-21 21:03:14
Witam,

Otóż problem dotyczy nawet najprostszego programu:

C/C++
#include <stdio.h>
#include <allegro5/allegro.h>

int main( int argc, char ** argv ) {
   
    ALLEGRO_DISPLAY * display = NULL;
   
    if( !al_init() ) {
        fprintf( stderr, "failed to initialize allegro!\n" );
        return - 1;
    }
   
    display = al_create_display( 640, 480 );
    if( !display ) {
        fprintf( stderr, "failed to create display!\n" );
        return - 1;
    }
   
    al_clear_to_color( al_map_rgb( 0, 0, 0 ) );
   
    al_flip_display();
   
    al_rest( 10.0 );
   
    al_destroy_display( display );
   
    return 0;
}

-------------- Run: Debug in main.cpp (compiler: GNU GCC Compiler)---------------

Checking for existence: C:\Users\TheMesoria\Desktop\main.cpp\bin\Debug\main.exe
Executing: "C:\Program Files (x86)\CodeBlocks/cb_console_runner.exe" "C:\Users\TheMesoria\Desktop\main.cpp\bin\Debug\main.exe"  (in C:\Users\TheMesoria\Desktop\main.cpp\.)
Process terminated with status -1073741510 (0 minute(s), 11 second(s))

Więc jak widać, wszystko wychodzi z poprawnie (działa kiedy uruchamiam używając C::B), Jednak kiedy próbuję uruchomić, czy to na obecnym komputerze czy, na innej maszynie używając '.exe' pojawia się okienko, po czym żegna się ze mną smutnym okienkiem "(...)przestał działać".

Biblioteki za linkowane są statycznie, a maszyna pierwsza jak i druga nie wykazuje oznak "niesprawności".

P-136663
michal11
» 2015-08-22 00:36:32
Pododawaj sobie wypisywanie po każdej funkcji jakiegoś tekstu i zobacz w którym miejscu występuje błąd, albo bardziej profesjonalnie - debugguj.
P-136681
TheMesoria
Temat założony przez niniejszego użytkownika
» 2015-08-22 01:15:14
C/C++
#include <stdio.h>
#include <allegro5/allegro.h>


int main( int argc, char ** argv ) {
    fprintf( stderr, "1" );
    ALLEGRO_DISPLAY * display = NULL;
    fprintf( stderr, "2" );
    if( !al_init() ) {
        fprintf( stderr, "failed to initialize allegro!\n" );
        system( "pause" );
        return - 1;
    }
    fprintf( stderr, "3" );
    display = al_create_display( 640, 480 );
    if( !display ) {
        fprintf( stderr, "failed to create display!\n" );
        system( "pause" );
        return - 1;
    }
    fprintf( stderr, "4" );
    al_clear_to_color( al_map_rgb( 0, 0, 0 ) );
    fprintf( stderr, "5" );
    al_flip_display();
    fprintf( stderr, "6" );
    al_rest( 10.0 );
    fprintf( stderr, "7" );
    al_destroy_display( display );
    fprintf( stderr, "8" );
    system( "pause" );
    return 0;
   
}

Udało mi się namierzyć problem, otóż zatrzymuje się on na błędzie diplay, którego wczesniej nie zauważyłem (głupi ja nie zatrzymał wyświetlania),

otóż okazuje się, że nie może stworzyć okienka- "display", (failed to create display!)

Mimo to wciąż nie potrafię znaleźć przyczyny... Allegro w końcu się inicjalizuje...
P-136683
DejaVu
» 2015-08-26 10:11:42
moze dllki nie masz obok exe :)
P-136889
« 1 »
  Strona 1 z 1