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

[allegro] undefined reference

Ostatnio zmodyfikowano 2008-07-18 12:05
Autor Wiadomość
gbr14
Temat założony przez niniejszego użytkownika
[allegro] undefined reference
» 2008-07-17 13:05:26
witam
Ładnie przeczytałem rozdział animacja. Wszystko przepisałem i włączyłem.
po włączeniu pojawił mi się napis "wystąpił błąd z aplikacją Projekt1.exe i zostanie ona zamknięta. Przepraszamy za kłopoty" :/
Coś jest nie tak???? wszystko inne mi działa.... :D

Proszę o odpowiedź
P-979
DejaVu
» 2008-07-17 13:08:26
Wklej kod. Przypuszczam, że nie załadowała Ci się jakaś tekstura lub nie zainicjowałeś jakiegoś wskaźnika z którego później korzystasz.
P-980
gbr14
Temat założony przez niniejszego użytkownika
» 2008-07-17 13:15:24
Wklej kod. Przypuszczam, że nie załadowała Ci się jakaś tekstura lub nie zainicjowałeś jakiegoś wskaźnika z którego później korzystasz

Wszystko przepisałem co Pan napisał w dziale animacji. Nawet później jeszcze raz skopiowałem i ten sam problem.... ;(

oto kod:
C/C++
#include <allegro.h>
volatile long speed = 0;
void increment_speed()
{
    speed++;
}
END_OF_FUNCTION( increment_speed );
LOCK_VARIABLE( speed );
LOCK_FUNCTION( increment_speed );
int main()
{
    allegro_init();
    install_keyboard();
    set_color_depth( 16 );
    set_gfx_mode( GFX_AUTODETECT_WINDOWED, 640, 480, 0, 0 );
    install_timer();
    install_int_ex( increment_speed, BPS_TO_TIMER( 80 ) );
   
    BITMAP * bufor = NULL;
    BITMAP * ludek0 = NULL;
    BITMAP * ludek1 = NULL;
    BITMAP * ludek2 = NULL;
    BITMAP * ludek3 = NULL;
   
    bufor = create_bitmap( 640, 480 );
    if( !bufor )
    {
        set_gfx_mode( GFX_TEXT, 0, 0, 0, 0 );
        allegro_message( "Nie mogę utworzyć bufora !" );
        allegro_exit();
        return 0;
    }
   
    ludek0 = load_bmp( "bobek00.bmp", default_palette );
    ludek1 = load_bmp( "bobek01.bmp", default_palette );
    ludek2 = load_bmp( "bobek02.bmp", default_palette );
    ludek3 = load_bmp( "bobek03.bmp", default_palette );
   
    int ludek_x = 100, ludek_y = 100;
    int frame = 0;
   
    while( !key[ KEY_ESC ] )
    {
        while( speed > 0 )
        {
           
            if( key[ KEY_LEFT ] ) ludek_x--;
           
            if( key[ KEY_RIGHT ] ) ludek_x++;
           
            if( key[ KEY_UP ] ) ludek_y--;
           
            if( key[ KEY_DOWN ] ) ludek_y++;
           
            speed--;
           
            frame++;
            if( frame > 80 ) frame = 0;
           
        }
       
        clear_to_color( bufor, makecol( 150, 150, 150 ) );
       
        if( frame < 20 ) { draw_sprite( bufor, ludek0, ludek_x, ludek_y ); }
        else if( frame >= 20 && frame < 40 ) { draw_sprite( bufor, ludek1, ludek_x, ludek_y ); }
        else if( frame >= 40 && frame < 60 ) { draw_sprite( bufor, ludek2, ludek_x, ludek_y ); }
        else if( frame >= 60 && frame < 80 ) { draw_sprite( bufor, ludek3, ludek_x, ludek_y ); }
       
        blit( bufor, screen, 0, 0, 0, 0, 640, 480 );
    }
   
    remove_int( increment_speed );
    destroy_bitmap( ludek0 );
    destroy_bitmap( ludek1 );
    destroy_bitmap( ludek2 );
    destroy_bitmap( ludek3 );
    destroy_bitmap( bufor );
    allegro_exit();
    return 0;
}
END_OF_MAIN();

a i jeszcze chciałem dodać że tam gdzie jest LOG KOMPILACJI to pisze że jest 35 błędów.. nie wiem czy to ma znaczenie akurat

Widzi Pan jakieś błędy??
P-981
DejaVu
» 2008-07-17 13:25:45
Wklej w takim razie jeszcze błędy kompilacji - bo coś za dużo tych błędów. Jak możesz uruchomić program skoro masz błędy kompilacji?
P-982
gbr14
Temat założony przez niniejszego użytkownika
» 2008-07-17 13:33:02
a skąd te błędy????
oto one:
C/C++
Kompilator: Default compiler
Wykonywanie g++.exe...
g++.exe "C:\programowanie\Allegro\anim\main.cpp" - o "C:\programowanie\Allegro\anim\main.exe" - I "C:\Dev-Cpp\lib\gcc\mingw32\3.4.2\include" - I "C:\Dev-Cpp\include\c++\3.4.2\backward" - I "C:\Dev-Cpp\include\c++\3.4.2\mingw32" - I "C:\Dev-Cpp\include\c++\3.4.2" - I "C:\Dev-Cpp\include" - L"C:\Dev-Cpp\lib"
C:\D OCUME ~1\gabi\USTAWI ~1\Temp / ccqecaaa.o(.text + 0x37 )
    : main.cpp
    : undefined reference to ` _install_allegro_version_check ' C:\D OCUME ~1\gabi\USTAWI ~1\Temp / ccqecaaa.o(.text + 0x3c )
    : main.cpp
    : undefined reference to ` install_keyboard ' C:\D OCUME ~1\gabi\USTAWI ~1\Temp / ccqecaaa.o(.text + 0x48 )
    : main.cpp
    : undefined reference to ` set_color_depth ' C:\D OCUME ~1\gabi\USTAWI ~1\Temp / ccqecaaa.o(.text + 0x74 )
    : main.cpp
    : undefined reference to ` set_gfx_mode ' C:\D OCUME ~1\gabi\USTAWI ~1\Temp / ccqecaaa.o(.text + 0x79 )
    : main.cpp
    : undefined reference to ` install_timer ' C:\D OCUME ~1\gabi\USTAWI ~1\Temp / ccqecaaa.o(.text + 0x8d )
    : main.cpp
    : undefined reference to ` install_int_ex ' C:\D OCUME ~1\gabi\USTAWI ~1\Temp / ccqecaaa.o(.text + 0xc4 )
    : main.cpp
    : undefined reference to ` create_bitmap ' C:\D OCUME ~1\gabi\USTAWI ~1\Temp / ccqecaaa.o(.text + 0xf9 )
    : main.cpp
    : undefined reference to ` set_gfx_mode ' C:\D OCUME ~1\gabi\USTAWI ~1\Temp / ccqecaaa.o(.text + 0x105 )
    : main.cpp
    : undefined reference to ` allegro_message ' C:\D OCUME ~1\gabi\USTAWI ~1\Temp / ccqecaaa.o(.text + 0x10a )
    : main.cpp
    : undefined reference to ` allegro_exit ' C:\D OCUME ~1\gabi\USTAWI ~1\Temp / ccqecaaa.o(.text + 0x11b )
    : main.cpp
    : undefined reference to ` _imp__default_palette ' C:\D OCUME ~1\gabi\USTAWI ~1\Temp / ccqecaaa.o(.text + 0x12b )
    : main.cpp
    : undefined reference to ` load_bmp ' C:\D OCUME ~1\gabi\USTAWI ~1\Temp / ccqecaaa.o(.text + 0x133 )
    : main.cpp
    : undefined reference to ` _imp__default_palette ' C:\D OCUME ~1\gabi\USTAWI ~1\Temp / ccqecaaa.o(.text + 0x143 )
    : main.cpp
    : undefined reference to ` load_bmp ' C:\D OCUME ~1\gabi\USTAWI ~1\Temp / ccqecaaa.o(.text + 0x14b )
    : main.cpp
    : undefined reference to ` _imp__default_palette ' C:\D OCUME ~1\gabi\USTAWI ~1\Temp / ccqecaaa.o(.text + 0x15b )
    : main.cpp
    : undefined reference to ` load_bmp ' C:\D OCUME ~1\gabi\USTAWI ~1\Temp / ccqecaaa.o(.text + 0x163 )
    : main.cpp
    : undefined reference to ` _imp__default_palette ' C:\D OCUME ~1\gabi\USTAWI ~1\Temp / ccqecaaa.o(.text + 0x173 )
    : main.cpp
    : undefined reference to ` load_bmp ' C:\D OCUME ~1\gabi\USTAWI ~1\Temp / ccqecaaa.o(.text + 0x190 )
    : main.cpp
    : undefined reference to ` _imp__key ' C:\D OCUME ~1\gabi\USTAWI ~1\Temp / ccqecaaa.o(.text + 0x1aa )
    : main.cpp
    : undefined reference to ` _imp__key ' C:\D OCUME ~1\gabi\USTAWI ~1\Temp / ccqecaaa.o(.text + 0x1bc )
    : main.cpp
    : undefined reference to ` _imp__key ' C:\D OCUME ~1\gabi\USTAWI ~1\Temp / ccqecaaa.o(.text + 0x1ce )
    : main.cpp
    : undefined reference to ` _imp__key ' C:\D OCUME ~1\gabi\USTAWI ~1\Temp / ccqecaaa.o(.text + 0x1e0 )
    : main.cpp
    : undefined reference to ` _imp__key ' C:\D OCUME ~1\gabi\USTAWI ~1\Temp / ccqecaaa.o(.text + 0x228 )
    : main.cpp
    : undefined reference to ` makecol ' C:\D OCUME ~1\gabi\USTAWI ~1\Temp / ccqecaaa.o(.text + 0x31f )
    : main.cpp
    : undefined reference to ` _imp__screen ' C:\D OCUME ~1\gabi\USTAWI ~1\Temp / ccqecaaa.o(.text + 0x330 )
    : main.cpp
    : undefined reference to ` blit ' C:\D OCUME ~1\gabi\USTAWI ~1\Temp / ccqecaaa.o(.text + 0x341 )
    : main.cpp
    : undefined reference to ` remove_int ' C:\D OCUME ~1\gabi\USTAWI ~1\Temp / ccqecaaa.o(.text + 0x34c )
    : main.cpp
    : undefined reference to ` destroy_bitmap ' C:\D OCUME ~1\gabi\USTAWI ~1\Temp / ccqecaaa.o(.text + 0x357 )
    : main.cpp
    : undefined reference to ` destroy_bitmap ' C:\D OCUME ~1\gabi\USTAWI ~1\Temp / ccqecaaa.o(.text + 0x362 )
    : main.cpp
    : undefined reference to ` destroy_bitmap ' C:\D OCUME ~1\gabi\USTAWI ~1\Temp / ccqecaaa.o(.text + 0x36d )
    : main.cpp
    : undefined reference to ` destroy_bitmap ' C:\D OCUME ~1\gabi\USTAWI ~1\Temp / ccqecaaa.o(.text + 0x378 )
    : main.cpp
    : undefined reference to ` destroy_bitmap ' C:\D OCUME ~1\gabi\USTAWI ~1\Temp / ccqecaaa.o(.text + 0x37d )
    : main.cpp
    : undefined reference to ` allegro_exit ' C:\D OCUME ~1\gabi\USTAWI ~1\Temp / ccqecaaa.o(.text + 0x43e )
    : main.cpp
    : undefined reference to ` _WinMain ' collect2
    : ld returned 1 exit status

Wykonanie zakończone
i dlaczego nie chce mi się włączyć??
P-983
DejaVu
Jak łatwo uruchomić projekt allegro
» 2008-07-17 13:48:56
Podobny temat z tym samym problemem: http://ddt.pl/forum/index.php?Tid=123.


Błędy które obecnie otrzymujesz wynikają z tego, że nie masz zlinkowanej biblioteki allegro do programu. Aby zlinkować bibliotekę allegro musisz utworzyć projekt, a następnie go skonfigurować. Jeśli nie czujesz się na siłach aby własnoręcznie skonfigurować projekt, wykonaj następujące kroki:

Jak łatwo uruchomić projekt allegro:
1) utwórz sobie projekt allegro
2) skompiluj
3) jeśli ptk 2 się powiódł i aplikacja demonstracyjna działa wklej swój kod
4) skompiluj

P-984
gbr14
Temat założony przez niniejszego użytkownika
» 2008-07-17 14:56:50
zrobiłem jak Pan mówił oto nowy projekt allegro:
C/C++
#include <allegro.h>

void init();
void deinit();

int main() {
    init();
   
    while( !key[ KEY_ESC ] ) {
        /* put your code here */
    }
   
    deinit();
    return 0;
}
END_OF_MAIN()

void init() {
    int depth, res;
    allegro_init();
    depth = desktop_color_depth();
    if( depth == 0 ) depth = 32;
   
    set_color_depth( depth );
    res = set_gfx_mode( GFX_AUTODETECT_WINDOWED, 640, 480, 0, 0 );
    if( res != 0 ) {
        allegro_message( allegro_error );
        exit( - 1 );
    }
   
    install_timer();
    install_keyboard();
    install_mouse();
    /* add other initializations here */
}

void deinit() {
    clear_keybuf();
    /* add other deinitializations here */
}

Wykonanie zakończone
Kompilacja zakończona sukcesem

i co mam dalej zrobić??
P-985
DejaVu
» 2008-07-17 15:05:11
3) jeśli ptk 2 się powiódł i aplikacja demonstracyjna działa wklej swój kod
4) skompiluj
P-986
« 1 » 2 3
  Strona 1 z 3 Następna strona