[+] Trudne pocz

Potrzebujesz pomocy z C, C++, perl, python, itp.
gummmibear
Posty: 35
Rejestracja: 02 stycznia 2009, 08:42

[+] Trudne początki z allegro.h

Post 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?
ponton
Beginner
Posty: 406
Rejestracja: 24 stycznia 2007, 01:40
Lokalizacja: Kalisz/Wroc³aw

Post 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
yakow
Posty: 52
Rejestracja: 13 czerwca 2008, 09:30

Post 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
ponton
Beginner
Posty: 406
Rejestracja: 24 stycznia 2007, 01:40
Lokalizacja: Kalisz/Wroc³aw

Post 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".
jedi1
Posty: 46
Rejestracja: 08 maja 2007, 17:08
Lokalizacja: Gdynia

Post autor: jedi1 »

gummmibear
Posty: 35
Rejestracja: 02 stycznia 2009, 08:42

Post 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, :)
ODPOWIEDZ