Błędna kompilacja programu z biblioteką allegro

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
psychob
Piegowaty Guziec
Piegowaty Guziec
Posty: 2
Rejestracja: 03 gru 2007, 16:48
Płeć: Mężczyzna
Wersja Ubuntu: 7.10
Kontakt:

Błędna kompilacja programu z biblioteką allegro

Post autor: psychob »

Mam problem. Otóż, zacząłem ostatnio się bawić biblioteką Allegro. Problem jest taki, że się to nie udaje :).
Przy kompilacji poniższego programu:

Kod: Zaznacz cały

#include <allegro.h>
int main()
{
  allegro_init();
  allegro_exit();
  return 0;
}
Wyskakuje mi błąd:

Kod: Zaznacz cały

/tmp/ccl9Xu4P.o: In function `install_allegro':
allegro_test.cpp:(.text+0x10): undefined reference to `_get_allegro_version'
allegro_test.cpp:(.text+0x28): undefined reference to `get_config_text'
allegro_test.cpp:(.text+0x2d): undefined reference to `allegro_error'
allegro_test.cpp:(.text+0x41): undefined reference to `ustrzcpy'
allegro_test.cpp:(.text+0x63): undefined reference to `_install_allegro'
/tmp/ccl9Xu4P.o: In function `main':
allegro_test.cpp:(.text+0x98): undefined reference to `allegro_exit'
collect2: ld returned 1 exit status
I teraz moje pytanie. Co można zrobić by kompilowało się? Byłbym wdzięczny za pomoc.
adrian5632
Przyjaciel
Przyjaciel
Posty: 259
Rejestracja: 17 gru 2006, 16:07
Płeć: Mężczyzna
Wersja Ubuntu: 9.04
Środowisko graficzne: KDE Plasma

Odp: Błędna kompilacja programu z biblioteką allegro

Post autor: adrian5632 »

A jak to kompilujesz? Dodajesz do opcji g++, by linkował z tą właśnie biblioteką?
[IMG]http://www.ubudsl.com/media/UbuDSL.png[/IMG]
Masz problem z UbuDSL? Nie zapomnij wygenerować i załączyć loga do postu!
psychob
Piegowaty Guziec
Piegowaty Guziec
Posty: 2
Rejestracja: 03 gru 2007, 16:48
Płeć: Mężczyzna
Wersja Ubuntu: 7.10
Kontakt:

Odp: Błędna kompilacja programu z biblioteką allegro

Post autor: psychob »

A jak to kompilujesz? Dodajesz do opcji g++, by linkował z tą właśnie biblioteką?
Najprawdopodobniej... nie. A jeśli chodzi ci o to:

Kod: Zaznacz cały

g++ -lallegro allegro_test.cpp -o allegro_test
To to też nie działa.
//edit
należy wklepać:

Kod: Zaznacz cały

g++ `allgero-config --libs` allegro_test.cpp -o allegro_test
Rebi
Piegowaty Guziec
Piegowaty Guziec
Posty: 11
Rejestracja: 07 cze 2010, 00:07
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86

Odp: Błędna kompilacja programu z biblioteką allegro

Post autor: Rebi »

cześć
to samo mam co wyżej ale wszystko mam po
instalowane nie wiem o co chodzi jak dam:

Kod: Zaznacz cały

g++ all.cpp -H
to wyskakuje mi

Kod: Zaznacz cały

 ! /usr/include/allegro.h.gch
 all.cpp
 all.cpp
/tmp/ccgUYrCs.o: In function `main':
all.cpp:(.text+0x4d): undefined reference to `_install_allegro_version_check'
all.cpp:(.text+0x52): undefined reference to `install_keyboard'
all.cpp:(.text+0x5e): undefined reference to `set_color_depth'
all.cpp:(.text+0x8a): undefined reference to `set_gfx_mode'
all.cpp:(.text+0x91): undefined reference to `default_palette'
all.cpp:(.text+0x96): undefined reference to `set_palette'
all.cpp:(.text+0x9b): undefined reference to `screen'
all.cpp:(.text+0xc7): undefined reference to `makecol'
all.cpp:(.text+0xcd): undefined reference to `font'
all.cpp:(.text+0xd3): undefined reference to `screen'
all.cpp:(.text+0x103): undefined reference to `textout_ex'
all.cpp:(.text+0x108): undefined reference to `readkey'
all.cpp:(.text+0x10d): undefined reference to `allegro_exit'
collect2: ld returned 1 exit status
a z tym tamtym configiem

Kod: Zaznacz cały

 No command 'allgero-config' found, did you mean:
 Command 'allegro-config' from package 'liballegro4.2-dev' (universe)
... 
a kiedyś mi się odpalało ładnie
tego liballegro4.2-dev mam abgrejdniętego do najnowszej wersji wie ktoś o co chodzi??
luzakwielki
Wytworny Kaczor
Wytworny Kaczor
Posty: 264
Rejestracja: 19 lis 2008, 11:42
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: KDE Plasma
Architektura: x86_64

Odp: Błędna kompilacja programu z biblioteką allegro

Post autor: luzakwielki »

Rebi pisze:cześć
to samo mam co wyżej ale wszystko mam po
instalowane nie wiem o co chodzi jak dam:

Kod: Zaznacz cały

g++ all.cpp -H
to wyskakuje mi

Kod: Zaznacz cały

...
a z tym tamtym configiem

Kod: Zaznacz cały

 No command 'allgero-config' found, did you mean:
 Command 'allegro-config' from package 'liballegro4.2-dev' (universe)
... 
a kiedyś mi się odpalało ładnie
tego liballegro4.2-dev mam abgrejdniętego do najnowszej wersji wie ktoś o co chodzi??
"g++ all.cpp -lalleg" załatwi sprawę ;p
Co do allegro-config to przecież ubuntu Ci ładnie podpowiada, że psychob zrobił literówkę i zamienił pozycje "e" z "g" w słowie allegro (jednak "allegro-config --libs" wypluje zapewne tylko -lalleg, więc nie ma sensu go wywoływać za każdym razem (możesz sprawdzić wpisując do konsoli "allegro-config --libs" i zobaczyć co wypluje (powinien -L/usr/lib (jeśli tam jest zainstalowana biblioteka... ale wtedy jest to zbędne) i -lalleg)))
Rebi
Piegowaty Guziec
Piegowaty Guziec
Posty: 11
Rejestracja: 07 cze 2010, 00:07
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86

Odp: Błędna kompilacja programu z biblioteką allegro

Post autor: Rebi »

dzięki! allegro-config --libs działa mam dyslekcję dlatego nie zauważyłem wogóle różnicy :wall: :wink:
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 16 gości