• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

[C]Problem z podłączeniem programu pod allegro z jego kompilacją (archlinux)

Cloud VPS
0 głosów
225 wizyt
pytanie zadane 21 października 2017 w C i C++ przez Mateusz Analityk Stary wyjadacz (13,740 p.)
edycja 21 października 2017 przez Mateusz Analityk
Bibliotekę wrzuciłem tak bezpośrednio do netbeans:

$ls -l
main.c
allegro5/allegro5.h

Znaczy się wszystkie pliki tej biblioteki żeby w końcu mi ją skompilowało o tak, ale dalej nic...

#include "allegro5/allegro5.h"

gcc    -c -g -std=c99 -MMD -MP -MF "build/Debug/GNU-Linux/main.o.d" -o build/Debug/GNU-Linux/main.o main.c
mkdir -p dist/Debug/GNU-Linux
gcc     -o dist/Debug/GNU-Linux/exif_project_1 build/Debug/GNU-Linux/main.o 
build/Debug/GNU-Linux/main.o: En la función `main':
/home/don_matteo/NetBeansProjects/exif_project_1/main.c:32: referencia a `al_install_system' sin definir
/home/don_matteo/NetBeansProjects/exif_project_1/main.c:38: referencia a `al_create_timer' sin definir
/home/don_matteo/NetBeansProjects/exif_project_1/main.c:45: referencia a `al_create_display' sin definir
/home/don_matteo/NetBeansProjects/exif_project_1/main.c:52: referencia a `al_create_event_queue' sin definir
/home/don_matteo/NetBeansProjects/exif_project_1/main.c:59: referencia a `al_get_display_event_source' sin definir
/home/don_matteo/NetBeansProjects/exif_project_1/main.c:59: referencia a `al_register_event_source' sin definir
/home/don_matteo/NetBeansProjects/exif_project_1/main.c:60: referencia a `al_get_timer_event_source' sin definir
/home/don_matteo/NetBeansProjects/exif_project_1/main.c:60: referencia a `al_register_event_source' sin definir
/home/don_matteo/NetBeansProjects/exif_project_1/main.c:63: referencia a `al_map_rgb' sin definir
/home/don_matteo/NetBeansProjects/exif_project_1/main.c:63: referencia a `al_clear_to_color' sin definir
/home/don_matteo/NetBeansProjects/exif_project_1/main.c:64: referencia a `al_flip_display' sin definir
/home/don_matteo/NetBeansProjects/exif_project_1/main.c:67: referencia a `al_start_timer' sin definir
/home/don_matteo/NetBeansProjects/exif_project_1/main.c:75: referencia a `al_init_timeout' sin definir
/home/don_matteo/NetBeansProjects/exif_project_1/main.c:78: referencia a `al_wait_for_event_until' sin definir
/home/don_matteo/NetBeansProjects/exif_project_1/main.c:96: referencia a `al_is_event_queue_empty' sin definir
/home/don_matteo/NetBeansProjects/exif_project_1/main.c:98: referencia a `al_map_rgb' sin definir
/home/don_matteo/NetBeansProjects/exif_project_1/main.c:98: referencia a `al_clear_to_color' sin definir
/home/don_matteo/NetBeansProjects/exif_project_1/main.c:99: referencia a `al_flip_display' sin definir
/home/don_matteo/NetBeansProjects/exif_project_1/main.c:105: referencia a `al_destroy_display' sin definir
/home/don_matteo/NetBeansProjects/exif_project_1/main.c:106: referencia a `al_destroy_event_queue' sin definir
collect2: error: ld devolvió el estado de salida 1
make[2]: *** [nbproject/Makefile-Debug.mk:63: dist/Debug/GNU-Linux/exif_project_1] Błąd 1
make[2]: Opuszczenie katalogu '/home/don_matteo/NetBeansProjects/exif_project_1'
make[1]: *** [nbproject/Makefile-Debug.mk:59: .build-conf] Błąd 2
make[1]: Opuszczenie katalogu '/home/don_matteo/NetBeansProjects/exif_project_1'
make: *** [nbproject/Makefile-impl.mk:40: .build-impl] Błąd 2

BUILD FAILED (exit value 2, total time: 242ms)

Problem występuje również, gdy bibliotekę zaimportuje się normalnie czyli po prostu:

#<allegro5/allegro.h>

[don_matteo@black_arch ~]$ find /usr/lib -iname "*allegr*"
/usr/lib/liballegro_main.so
/usr/lib/liballegro_primitives.so.5.2.2
/usr/lib/liballegro_audio.so
/usr/lib/liballegro_acodec.so.5.2
/usr/lib/liballegro_video.so.5.2.2
itd...

Mimo, że jak widać allegro mam zainstalowane w systemie przez pacmana.

Dobra kompiluję z użyciem gcc main.c w konsoli 


[don_matteo@black_arch ~]$ gcc /home/don_matteo/NetBeansProjects/exif_project_1/main.c -o zzz -lallegro_main
/tmp/ccAJZsgl.o: En la función `main':
main.c:(.text+0x61): referencia a `al_install_system' sin definir
main.c:(.text+0xb3): referencia a `al_create_timer' sin definir
main.c:(.text+0xf7): referencia a `al_create_display' sin definir
main.c:(.text+0x137): referencia a `al_create_event_queue' sin definir
main.c:(.text+0x17b): referencia a `al_get_display_event_source' sin definir
main.c:(.text+0x18d): referencia a `al_register_event_source' sin definir
main.c:(.text+0x199): referencia a `al_get_timer_event_source' sin definir
main.c:(.text+0x1ab): referencia a `al_register_event_source' sin definir
main.c:(.text+0x1bf): referencia a `al_map_rgb' sin definir
main.c:(.text+0x1f8): referencia a `al_clear_to_color' sin definir
main.c:(.text+0x1fd): referencia a `al_flip_display' sin definir
main.c:(.text+0x209): referencia a `al_start_timer' sin definir
main.c:(.text+0x230): referencia a `al_init_timeout' sin definir
main.c:(.text+0x247): referencia a `al_wait_for_event_until' sin definir
main.c:(.text+0x2ad): referencia a `al_is_event_queue_empty' sin definir
main.c:(.text+0x2c5): referencia a `al_map_rgb' sin definir
main.c:(.text+0x2fe): referencia a `al_clear_to_color' sin definir
main.c:(.text+0x303): referencia a `al_flip_display' sin definir
main.c:(.text+0x326): referencia a `al_destroy_display' sin definir
main.c:(.text+0x332): referencia a `al_destroy_event_queue' sin definir
collect2: error: ld devolvió el estado de salida 1
[don_matteo@black_arch ~]$ 

 

Chciałbym po prostu to skompilować...

1 odpowiedź

0 głosów
odpowiedź 21 października 2017 przez Gynvael Coldwind Nałogowiec (30,510 p.)
Czekaj czekaj, allegro.h to nie jest biblioteka, to jest plik nagłówkowy z definicjami funkcji/etc z biblioteki. Jeśli chcesz dodać bibliotekę (.a) to musisz o tym powiedzieć linkerowi.

W zasadzie jest to dobrze opisane na https://wiki.allegro.cc/index.php?title=Compiling_Allegro_Programs ale na szybko powiem, że prawdopodobnie zadziała dodanie do linii gcc opcji -lallegro

Podobne pytania

0 głosów
1 odpowiedź 415 wizyt
pytanie zadane 3 sierpnia 2018 w C i C++ przez Jackob Obywatel (1,430 p.)
+1 głos
6 odpowiedzi 25,496 wizyt
0 głosów
1 odpowiedź 1,595 wizyt
pytanie zadane 22 października 2020 w Systemy operacyjne, programy przez Pan_Pieczywko Nowicjusz (120 p.)

93,487 zapytań

142,423 odpowiedzi

322,773 komentarzy

62,909 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...