Jak zainstalować bilbiotekę Allegro w Linuksie?


(kijek) #1

Pobrałem paczkę z najnowszą wersją biblioteki graficznej Allegro, ale nie bardzo wiem, jak ją zainstalować. Co prawda mam ją zainstalowaną z repozytorium, ale chciałbym mieć najnowszą wersję (w repo jest 4.2). Mam także problem z kompilacją najprostrzego programu

#include 

int main()

{

  allegro_init();

  allegro_exit();

  return 0;

}

END_OF_MAIN();

ponieważ wyskakuuą takie błędy:

||=== fgf, Debug ===|

obj/Debug/main.o||In function `main':|

/home/kijek/fgf/main.cpp|4|undefined reference to `_install_allegro_version_check'|

/home/kijek/fgf/main.cpp|5|undefined reference to `allegro_exit'|

||=== Build finished: 2 errors, 0 warnings ===|

(Sawyer47) #2

A co ze standardowymi danymi: dystrybucja, wersja, kompilator itp.?

Instrukcje kompilacji/instalacji znajdziesz (prawie) zawsze z pobraną paczką.

A odnośnie do błędów to trzeba podlinkować . Pod gcc/c++ to by była opcja -lNAZWA gdzie NAZWA zależy od biblioteki. Może to być -lallegro, ale nie musi, tę informację też powinieneś znaleźć w dokumentacji szukając o linkowaniu/budowaniu programów z użyciem Allegro.


(marcin82) #3

Ściągnij źródła tej biblioteki, rozpakuj katalog *.tar.gz. Potem przejdź do tego katalogu i po kolei: ./configure (jeśli bez błędów) => make => make install. Generalnie jednak odradza się instalowanie ze źródeł. Można zbudować swój pakiet rpm lub deb.


(kijek) #4

Tego, to ja już próbowałem, ale znalazłem na stronie biblioteki, jak ją skompilować, lecz nic z tego (w ogóle nie mam takich plików, jakie są tam opisane)

Dystrybucja wraz z wersją podane w podpisie, kompilator GCC. Jak kompilować już wiem, ale wyskakuje wtedy w konsoli błąd

gcc: allegro-config --libs: No such file or directory

(Sawyer47) #5

A jak wpisujesz polecenie? Nigdy Allegro nie używałem, ale pewnie wpisujesz to tak:

g++ XXX.cpp 'allegro-config --libs'

A allegro-config to zapewne zewnętrzny skrypt (domyślam się z komunikatu i doświadczenia) i powinieneś podać do kompilatora wynik działania tego skryptu/programu.


(kijek) #6

Wpisuję tak:

gcc myfile.cpp -o myprogram `allegro-config --libs`

Wynik działania tego skryptu, czyli?

Ok, już sobie poradziłem, wystarczyło zamiast gcc napisać g++.


(Sawyer47) #7

Jego wyjście, wynik działania. Myślałem, że przy przepisywaniu pomyliłeś ` z \' , ale wygląda ok. W razie czego zamiast ` zastosuj $(): gcc myfile.cpp -o myprogram $(allegro-config --libs)

To równoważna składnia. Jeśli nadal wyrzuca ten błąd to znaczy, że brakuje ci allegro-config, bo jak napisałem, to osobny skrypt. Więcej pomóc nie mogę, bo nie mam allegro i nie używałem nigdy.