Strona 1 z 1

[+] Trudne początki z allegro.h

: 26 maja 2009, 21:02
autor: gummmibear

Kod: Zaznacz cały

#include <allegro.h>
int main(){
    allegro_init();
    allegro_exit();
    return 0;
}
END_OF_MAIN();
Kompiluje to cudo w ten sposób:

Kod: Zaznacz cały

gcc -L /usr/lib/liballeg.so.4.2 snake.c 
Dostaję coś takiego:

Kod: Zaznacz cały

snake.c:1:21: error: allegro.h: Nie ma takiego pliku ani katalogu
snake.c:7: warning: data definition has no type or storage class
Oczywiście wcześniej zainstalowałem bibliotekę.

Kod: Zaznacz cały

sudo aptitude install liballegro4.2
Pomożecie?
Jak zmusić kompilator do działania?

: 26 maja 2009, 21:13
autor: ponton
To, co posiadasz, to tylko dynamicznie ładowana biblioteka, potrzebna do uruchamiania skompilowanych programów. Musisz dociągnąć pliki nagłówkowe:

Kod: Zaznacz cały

sudo aptitiude install liballegro4.2-dev
Kompilujesz to tak:

Kod: Zaznacz cały

gcc -o program -lalleg program.c
Uruchamiasz normalnie:

Kod: Zaznacz cały

./program

: 26 maja 2009, 21:20
autor: yakow
Jeśli mimo wszystko nie będzie Ci to działać - bo np. mi ten sposób wywala te same błędy co wcześniej - to w tym temacie jest inne rozwiązanie by @Theq, a mianowicie:

Kod: Zaznacz cały

gcc -L/usr/lib -lalleg-4.2.2 snake.c

: 26 maja 2009, 21:24
autor: ponton
yakow pisze:Jeśli mimo wszystko nie będzie Ci to działać - bo np. mi ten sposób wywala te same błędy co wcześniej - to w tym temacie jest inne rozwiązanie by @Theq, a mianowicie:

Kod: Zaznacz cały

gcc -L/usr/lib -lalleg-4.2.2 snake.c
"-L/usr/lib" nie ma sensu, bo ta ścieżka jest przecież domyślna. Co najwyżej inna nazwa biblioteki jest, czyli "-lalleg-4.2.2", chociaż powinno być dowiązanie symbolicznie i działać "-lalleg".

: 26 maja 2009, 21:48
autor: jedi1

: 26 maja 2009, 22:20
autor: gummmibear
ponton pisze:To, co posiadasz, to tylko dynamicznie ładowana biblioteka, potrzebna do uruchamiania skompilowanych programów. Musisz dociągnąć pliki nagłówkowe:

Kod: Zaznacz cały

sudo aptitiude install liballegro4.2-dev
Kompilujesz to tak:

Kod: Zaznacz cały

gcc -o program -lalleg program.c
Uruchamiasz normalnie:

Kod: Zaznacz cały

./program

Dzięki bardzo wszystko pięknie działa.

To ja zabieram sie za projekcik, :)