luizppa / top-gear

The SNES Top Gear game made in Allegro 5
GNU General Public License v3.0
10 stars 2 forks source link

Compilação no Windows com MINGW #4

Open yargonslavter opened 2 years ago

yargonslavter commented 2 years ago

Olá Luiz,

Tentei compilar seu jogo no Windows com MINGW porém não tive êxito, apesar de conseguir alterar o makefile-windows até que todos os arquivos fossem compilados (gerados o ".o") deu problemas no linker.

Tentei criar um projeto no MSVC 2022, mas foi pior ainda, a versão do C++ do MSVC é superior e diversas modificações teve que ser feitas no código apenas para tentar compilar, mesmo assim também não consegui compilar.

Eu ainda não testei no linux pra ver se dá certo, porém queria mesmo compilar no windows.

Será que tem alguma coisa que estou fazendo errado pra tentar compilar o game?

Obrigado. []'s

luizppa commented 2 years ago

Olá @yargonslavter!

Alguns meses atrás estive revisitando o código para migrar do C para C++ e isso pode ter acarretado em algumas instabilidades em certos sistemas.

Poderia fornecer mais detalhes sobre o erro que encontrou? Como por exemplo o log do compilador e do linker? Seu makefile modificado também ajudaria a identificar a causa da falha.

Também vou subir nos próximos dias uma branch estável do código (antes da migração para o C++) que talvez resolva o problema.

Obrigado!

yargonslavter commented 2 years ago

Olá @luizppa ,

Segue o makefile-windows que eu alterei:

CC=g++ STD=c++11 CFLAGS=-W --std=$(STD) -Wno-write-strings -lm

TARGET_NAME=./top-gear BUILD_PATH=./build SOURCE_PATH=./src LIB_PATH=./include OUTPUT_PATH=./output

SOURCE_EXT=cpp SOURCES=$(SOURCE_PATH)/car.cpp $(SOURCE_PATH)/colors.cpp $(SOURCE_PATH)/display.cpp $(SOURCE_PATH)/environment.cpp $(SOURCE_PATH)/fonts.cpp $(SOURCE_PATH)/game.cpp $(SOURCE_PATH)/maps.cpp $(SOURCE_PATH)/menus.cpp $(SOURCE_PATH)/object.cpp $(SOURCE_PATH)/sounds.cpp $(SOURCE_PATH)/utils.cpp OBJECTS := $(patsubst $(SOURCE_PATH)/%,$(BUILD_PATH)/%,$(SOURCES:.$(SOURCE_EXT)=.o))

ALLEGRO_PATH=allegro ALLEGRO_LIBS=-lallegro-5.0.10-monolith-md -static -lallegro-5.0.10-md -lallegro_acodec-5.0.10-md -lallegro_audio-5.0.10-md -lallegro_color-5.0.10-md -lallegro_dialog-5.0.10-md -lallegro_image-5.0.10-md -lallegro_memfile-5.0.10-md -lallegro_physfs-5.0.10-md -lallegro_primitives-5.0.10-md -lallegro_ttf-5.0.10-md -lallegro_font-5.0.10-md -lallegro-5.0.10-md ALLEGRO_INCLUDE=-I $(ALLEGRO_PATH)/include ALLEGRO_BIN=-L $(ALLEGRO_PATH)/lib ALLEGRO_CONFIG=$(ALLEGRO_INCLUDE) $(ALLEGRO_BIN) $(ALLEGRO_LIBS) ALEGRO_MONOLITH=$(ALLEGRO_PATH)/lib/liballegro-5.0.10-monolith-mt.a

all: $(TARGET_NAME)

$(BUILD_PATH)/%.o: $(SOURCE_PATH)/%.$(SOURCE_EXT) $(LIB_PATH)/%.hpp $(CC) -c $(CFLAGS) $(ALLEGRO_CONFIG) -o $@ $<

$(TARGET_NAME): $(OBJECTS) main.cpp $(CC) $(CFLAGS) $(ALLEGRO_CONFIG) -o $(BUILD_PATH)$(TARGET_NAME) main.cpp $(OBJECTS)

setup: cp $(ALLEGRO_PATH)/bin/* $(BUILD_PATH)/

run: $(BUILD_PATH)$(TARGET_NAME)

E esse é o log do console:

mingw32-make -f makefile-windows g++ -W --std=c++11 -Wno-write-strings -lm -I allegro/include -L allegro/lib -lallegro-5.0.10-monolith-md -static -lallegro-5.0.10-md -lallegro_acodec-5.0.10-md -lallegro_audio-5.0.10-md -lallegro_color-5.0.10-md -lallegro_dialog-5.0.10-md -lallegro_image-5.0.10-md -lallegro_memfile-5.0.10-md -lallegro_physfs-5.0.10-md -lallegro_primitives-5.0.10-md -lallegro_ttf-5.0.10-md -lallegro_font-5.0.10-md -lallegro-5.0.10-md -o ./build./top-gear main.cpp ./build/car.o ./build/colors.o ./build/display.o ./build/environment.o ./build/fonts.o ./build/game.o ./build/maps.o ./build/menus.o ./build/object.o ./build/sounds.o ./build/utils.o C:\Users\yargo\AppData\Local\Temp\cchUO4Yb.o:main.cpp:(.text+0x17): undefined reference to setup::init()' C:\Users\yargo\AppData\Local\Temp\cchUO4Yb.o:main.cpp:(.text+0x5c): undefined reference toal_flush_event_queue' C:\Users\yargo\AppData\Local\Temp\cchUO4Yb.o:main.cpp:(.text+0x70): undefined reference to al_wait_for_event' C:\Users\yargo\AppData\Local\Temp\cchUO4Yb.o:main.cpp:(.text+0xc4): undefined reference tosetup::finalize()' ./build/car.o:car.cpp:(.text+0x98c): undefined reference to al_draw_line' ./build/car.o:car.cpp:(.text+0x9d8): undefined reference toal_draw_line' ./build/car.o:car.cpp:(.text+0xa24): undefined reference to al_draw_line' ./build/car.o:car.cpp:(.text+0xa70): undefined reference toal_draw_line' ./build/car.o:car.cpp:(.text+0xbf4): undefined reference to al_draw_line' ./build/car.o:car.cpp:(.text+0xc40): more undefined references toal_draw_line' follow ./build/colors.o:colors.cpp:(.text+0x2c): undefined reference to al_map_rgb' ./build/display.o:display.cpp:(.text+0xe): undefined reference toal_load_bitmap' ./build/display.o:display.cpp:(.text+0x1f): undefined reference to al_load_bitmap' ./build/display.o:display.cpp:(.text+0x30): undefined reference toal_load_bitmap' ./build/display.o:display.cpp:(.text+0x41): undefined reference to al_load_bitmap' ./build/display.o:display.cpp:(.text+0x52): undefined reference toal_load_bitmap' ./build/display.o:display.cpp:(.text+0x63): more undefined references to al_load_bitmap' follow ./build/display.o:display.cpp:(.text+0x368): undefined reference toal_get_bitmap_width' ./build/display.o:display.cpp:(.text+0x381): undefined reference to al_get_bitmap_height' ./build/display.o:display.cpp:(.text+0x3da): undefined reference toal_draw_text' ./build/display.o:display.cpp:(.text+0x3e5): undefined reference to al_flip_display' ./build/display.o:display.cpp:(.text+0x440): undefined reference toal_draw_text' ./build/display.o:display.cpp:(.text+0x44b): undefined reference to al_flip_display' ./build/display.o:display.cpp:(.text+0x47a): undefined reference toal_clear_to_color' ./build/display.o:display.cpp:(.text+0x485): undefined reference to al_flip_display' ./build/display.o:display.cpp:(.text+0x556): undefined reference toal_rest' ./build/display.o:display.cpp:(.text+0x563): undefined reference to al_flush_event_queue' ./build/display.o:display.cpp:(.text+0x5ca): undefined reference toal_draw_bitmap' ./build/display.o:display.cpp:(.text+0x8e8): undefined reference to al_destroy_bitmap' ./build/display.o:display.cpp:(.text+0x8f5): undefined reference toal_destroy_bitmap' ./build/display.o:display.cpp:(.text+0x902): undefined reference to al_destroy_bitmap' ./build/display.o:display.cpp:(.text+0x90f): undefined reference toal_destroy_bitmap' ./build/display.o:display.cpp:(.text+0x91c): undefined reference to al_destroy_bitmap' ./build/display.o:display.cpp:(.text+0x929): more undefined references toal_destroy_bitmap' follow ./build/environment.o:environment.cpp:(.text+0x16): undefined reference to al_install_system' ./build/environment.o:environment.cpp:(.text+0x2e): undefined reference toal_install_audio' ./build/environment.o:environment.cpp:(.text+0x3a): undefined reference to al_install_keyboard' ./build/environment.o:environment.cpp:(.text+0x62): undefined reference toal_init_font_addon' ./build/environment.o:environment.cpp:(.text+0x67): undefined reference to al_init_ttf_addon' ./build/environment.o:environment.cpp:(.text+0x6c): undefined reference toal_init_acodec_addon' ./build/environment.o:environment.cpp:(.text+0x71): undefined reference to al_init_image_addon' ./build/environment.o:environment.cpp:(.text+0x76): undefined reference toal_init_primitives_addon' ./build/environment.o:environment.cpp:(.text+0x90): undefined reference to al_reserve_samples' ./build/environment.o:environment.cpp:(.text+0xb4): undefined reference toal_set_new_display_flags' ./build/environment.o:environment.cpp:(.text+0xc8): undefined reference to al_create_display' ./build/environment.o:environment.cpp:(.text+0xe2): undefined reference toal_set_window_title' ./build/environment.o:environment.cpp:(.text+0xf9): undefined reference to al_set_display_icon' ./build/environment.o:environment.cpp:(.text+0x107): undefined reference toal_create_event_queue' ./build/environment.o:environment.cpp:(.text+0x111): undefined reference to al_create_event_queue' ./build/environment.o:environment.cpp:(.text+0x11b): undefined reference toal_create_event_queue' ./build/environment.o:environment.cpp:(.text+0x132): undefined reference to al_create_timer' ./build/environment.o:environment.cpp:(.text+0x144): undefined reference toal_get_display_event_source' ./build/environment.o:environment.cpp:(.text+0x157): undefined reference to al_register_event_source' ./build/environment.o:environment.cpp:(.text+0x164): undefined reference toal_get_timer_event_source' ./build/environment.o:environment.cpp:(.text+0x177): undefined reference to al_register_event_source' ./build/environment.o:environment.cpp:(.text+0x17c): undefined reference toal_get_keyboard_event_source' ./build/environment.o:environment.cpp:(.text+0x18f): undefined reference to al_register_event_source' ./build/environment.o:environment.cpp:(.text+0x19c): undefined reference toal_get_display_event_source' ./build/environment.o:environment.cpp:(.text+0x1af): undefined reference to al_register_event_source' ./build/environment.o:environment.cpp:(.text+0x1b4): undefined reference toal_get_keyboard_event_source' ./build/environment.o:environment.cpp:(.text+0x1c7): undefined reference to al_register_event_source' ./build/environment.o:environment.cpp:(.text+0x1d4): undefined reference toal_get_timer_event_source' ./build/environment.o:environment.cpp:(.text+0x1e7): undefined reference to al_register_event_source' ./build/environment.o:environment.cpp:(.text+0x1f4): undefined reference toal_start_timer' ./build/environment.o:environment.cpp:(.text+0x20a): undefined reference to al_destroy_timer' ./build/environment.o:environment.cpp:(.text+0x217): undefined reference toal_destroy_display' ./build/environment.o:environment.cpp:(.text+0x224): undefined reference to al_destroy_event_queue' ./build/environment.o:environment.cpp:(.text+0x231): undefined reference toal_destroy_event_queue' ./build/environment.o:environment.cpp:(.text+0x23e): undefined reference to al_destroy_event_queue' ./build/fonts.o:fonts.cpp:(.text+0x1c): undefined reference toal_load_font' ./build/fonts.o:fonts.cpp:(.text+0xe9): undefined reference to al_destroy_font' ./build/fonts.o:fonts.cpp:(.text+0xf6): undefined reference toal_destroy_font' ./build/fonts.o:fonts.cpp:(.text+0x103): undefined reference to al_destroy_font' ./build/fonts.o:fonts.cpp:(.text+0x110): undefined reference toal_destroy_font' ./build/fonts.o:fonts.cpp:(.text+0x11d): undefined reference to al_destroy_font' ./build/fonts.o:fonts.cpp:(.text+0x12a): more undefined references toal_destroy_font' follow ./build/game.o:game.cpp:(.text+0x25c): undefined reference to al_draw_bitmap' ./build/game.o:game.cpp:(.text+0x29f): undefined reference toal_draw_bitmap' ./build/game.o:game.cpp:(.text+0x2f0): undefined reference to al_draw_filled_circle' ./build/game.o:game.cpp:(.text+0x378): undefined reference toal_draw_line' ./build/game.o:game.cpp:(.text+0x400): undefined reference to al_draw_line' ./build/game.o:game.cpp:(.text+0x469): undefined reference toal_draw_bitmap' ./build/game.o:game.cpp:(.text+0x514): undefined reference to al_draw_rectangle' ./build/game.o:game.cpp:(.text+0x56c): undefined reference toal_draw_filled_circle' ./build/game.o:game.cpp:(.text+0x604): undefined reference to al_draw_line' ./build/game.o:game.cpp:(.text+0x69c): undefined reference toal_draw_line' ./build/game.o:game.cpp:(.text+0x720): undefined reference to al_draw_line' ./build/game.o:game.cpp:(.text+0x91d): undefined reference toal_destroy_font' ./build/game.o:game.cpp:(.text+0x9dd): undefined reference to al_draw_scaled_bitmap' ./build/game.o:game.cpp:(.text+0xbb7): undefined reference toal_draw_scaled_bitmap' ./build/game.o:game.cpp:(.text+0xca6): undefined reference to al_draw_line' ./build/game.o:game.cpp:(.text+0xcec): undefined reference toal_draw_filled_circle' ./build/game.o:game.cpp:(.text+0xd35): undefined reference to al_draw_filled_circle' ./build/game.o:game.cpp:(.text+0xdce): undefined reference toal_draw_filled_circle' ./build/game.o:game.cpp:(.text+0xe20): undefined reference to al_draw_filled_circle' ./build/game.o:game.cpp:(.text+0xe79): undefined reference toal_draw_text' ./build/game.o:game.cpp:(.text+0xedc): undefined reference to al_draw_textf' ./build/game.o:game.cpp:(.text+0xf35): undefined reference toal_draw_text' ./build/game.o:game.cpp:(.text+0xfa0): undefined reference to al_draw_textf' ./build/game.o:game.cpp:(.text+0x1004): undefined reference toal_draw_filled_rounded_rectangle' ./build/game.o:game.cpp:(.text+0x1083): undefined reference to al_draw_filled_rounded_rectangle' ./build/game.o:game.cpp:(.text+0x1169): undefined reference toal_draw_filled_rectangle' ./build/game.o:game.cpp:(.text+0x11cb): undefined reference to al_draw_text' ./build/game.o:game.cpp:(.text+0x1248): undefined reference toal_draw_textf' ./build/game.o:game.cpp:(.text+0x12a1): undefined reference to al_draw_text' ./build/game.o:game.cpp:(.text+0x1305): undefined reference toal_draw_filled_rounded_rectangle' ./build/game.o:game.cpp:(.text+0x1384): undefined reference to al_draw_filled_rounded_rectangle' ./build/game.o:game.cpp:(.text+0x13f2): undefined reference toal_draw_filled_rectangle' ./build/game.o:game.cpp:(.text+0x1560): undefined reference to al_clear_to_color' ./build/game.o:game.cpp:(.text+0x1579): undefined reference toal_flip_display' ./build/game.o:game.cpp:(.text+0x165b): undefined reference to al_clear_to_color' ./build/game.o:game.cpp:(.text+0x16bf): undefined reference toal_draw_filled_rectangle' ./build/game.o:game.cpp:(.text+0x1719): undefined reference to al_draw_rectangle' ./build/game.o:game.cpp:(.text+0x1862): undefined reference toal_flip_display' ./build/game.o:game.cpp:(.text+0x187f): undefined reference to al_key_down' ./build/game.o:game.cpp:(.text+0x18ad): undefined reference toal_key_down' ./build/game.o:game.cpp:(.text+0x18db): undefined reference to al_key_down' ./build/game.o:game.cpp:(.text+0x1909): undefined reference toal_key_down' ./build/game.o:game.cpp:(.text+0x1937): undefined reference to al_key_down' ./build/game.o:game.cpp:(.text+0x1965): more undefined references toal_key_down' follow ./build/game.o:game.cpp:(.text+0x19ee): undefined reference to al_get_keyboard_state' ./build/game.o:game.cpp:(.text+0x1a67): undefined reference toal_key_down' ./build/game.o:game.cpp:(.text+0x1b05): undefined reference to al_key_down' ./build/game.o:game.cpp:(.text+0x1b81): undefined reference toal_key_down' ./build/game.o:game.cpp:(.text+0x1de3): undefined reference to al_key_down' ./build/game.o:game.cpp:(.text+0x1f68): undefined reference toal_key_down' ./build/game.o:game.cpp:(.text+0x245d): undefined reference to al_set_timer_count' ./build/game.o:game.cpp:(.text+0x24a3): undefined reference toal_wait_for_event' ./build/game.o:game.cpp:(.text+0x261b): undefined reference to al_wait_for_event' ./build/game.o:game.cpp:(.text+0x274d): undefined reference toal_stop_timer' ./build/game.o:game.cpp:(.text+0x275f): undefined reference to al_start_timer' ./build/game.o:game.cpp:(.text+0x2806): undefined reference toal_rest' ./build/game.o:game.cpp:(.text+0x2813): undefined reference to al_flush_event_queue' ./build/game.o:game.cpp:(.text+0x29a1): undefined reference toal_draw_textf' ./build/game.o:game.cpp:(.text+0x2a72): undefined reference to al_wait_for_event' ./build/game.o:game.cpp:(.text+0x2ad6): undefined reference toal_draw_bitmap' ./build/game.o:game.cpp:(.text+0x2b48): undefined reference to al_flip_display' ./build/game.o:game.cpp:(.text+0x2c0d): undefined reference toal_draw_textf' ./build/game.o:game.cpp:(.text+0x2c71): undefined reference to al_draw_text' ./build/game.o:game.cpp:(.text+0x2d2e): undefined reference toal_draw_textf' ./build/game.o:game.cpp:(.text+0x2dc4): undefined reference to al_draw_textf' ./build/game.o:game.cpp:(.text+0x2dfb): undefined reference toal_draw_bitmap' ./build/game.o:game.cpp:(.text+0x2e00): undefined reference to al_flip_display' ./build/game.o:game.cpp:(.text+0x2e15): undefined reference toal_wait_for_event' ./build/game.o:game.cpp:(.text+0x2e79): undefined reference to al_draw_bitmap' ./build/game.o:game.cpp:(.text+0x2eeb): undefined reference toal_flip_display' ./build/game.o:game.cpp:(.text+0x3641): undefined reference to al_stop_timer' ./build/game.o:game.cpp:(.text+0x3656): undefined reference toal_start_timer' ./build/game.o:game.cpp:(.text+0x3757): undefined reference to al_draw_textf' ./build/game.o:game.cpp:(.text+0x375c): undefined reference toal_flip_display' ./build/game.o:game.cpp:(.text+0x3773): undefined reference to al_rest' ./build/game.o:game.cpp:(.text+0x3796): undefined reference toal_flush_event_queue' ./build/game.o:game.cpp:(.text+0x37a3): undefined reference to al_flush_event_queue' ./build/game.o:game.cpp:(.text+0x37c0): undefined reference toal_set_timer_count' ./build/game.o:game.cpp:(.text+0x3819): undefined reference to al_is_event_queue_empty' ./build/game.o:game.cpp:(.text+0x3835): undefined reference toal_wait_for_event' ./build/game.o:game.cpp:(.text+0x3893): undefined reference to al_wait_for_event' ./build/game.o:game.cpp:(.text+0x38f6): undefined reference toal_get_timer_count' ./build/game.o:game.cpp:(.text+0x3920): undefined reference to al_get_timer_count' ./build/game.o:game.cpp:(.text+0x3963): undefined reference toal_get_timer_count' ./build/menus.o:menus.cpp:(.text+0x90): undefined reference to al_draw_bitmap' ./build/menus.o:menus.cpp:(.text+0x259): undefined reference toal_flush_event_queue' ./build/menus.o:menus.cpp:(.text+0x26d): undefined reference to al_wait_for_event' ./build/menus.o:menus.cpp:(.text+0x929): undefined reference toal_flip_display' ./build/menus.o:menus.cpp:(.text+0xa55): undefined reference to al_wait_for_event' ./build/menus.o:menus.cpp:(.text+0xbb7): undefined reference toal_flush_event_queue' ./build/menus.o:menus.cpp:(.text+0xcfb): undefined reference to al_draw_rounded_rectangle' ./build/menus.o:menus.cpp:(.text+0xe27): undefined reference toal_draw_rounded_rectangle' ./build/menus.o:menus.cpp:(.text+0xfb7): undefined reference to al_flush_event_queue' ./build/menus.o:menus.cpp:(.text+0xfcb): undefined reference toal_wait_for_event' ./build/menus.o:menus.cpp:(.text+0x1271): undefined reference to al_draw_rectangle' ./build/menus.o:menus.cpp:(.text+0x138e): undefined reference toal_draw_bitmap' ./build/menus.o:menus.cpp:(.text+0x1410): undefined reference to al_draw_rectangle' ./build/menus.o:menus.cpp:(.text+0x1521): undefined reference toal_draw_bitmap' ./build/menus.o:menus.cpp:(.text+0x1594): undefined reference to al_draw_rectangle' ./build/menus.o:menus.cpp:(.text+0x1691): undefined reference toal_draw_bitmap' ./build/menus.o:menus.cpp:(.text+0x1706): undefined reference to al_draw_rectangle' ./build/menus.o:menus.cpp:(.text+0x1803): undefined reference toal_draw_bitmap' ./build/menus.o:menus.cpp:(.text+0x1890): undefined reference to al_flush_event_queue' ./build/menus.o:menus.cpp:(.text+0x18a4): undefined reference toal_wait_for_event' ./build/menus.o:menus.cpp:(.text+0x1c25): undefined reference to al_draw_filled_rounded_rectangle' ./build/menus.o:menus.cpp:(.text+0x1d07): undefined reference toal_draw_rounded_rectangle' ./build/menus.o:menus.cpp:(.text+0x1d15): undefined reference to al_flip_display' ./build/menus.o:menus.cpp:(.text+0x1d3d): undefined reference toal_flush_event_queue' ./build/menus.o:menus.cpp:(.text+0x1d51): undefined reference to al_wait_for_event' ./build/menus.o:menus.cpp:(.text+0x1f88): undefined reference toal_draw_bitmap' ./build/menus.o:menus.cpp:(.text+0x204c): undefined reference to al_draw_rounded_rectangle' ./build/menus.o:menus.cpp:(.text+0x2051): undefined reference toal_flip_display' ./build/menus.o:menus.cpp:(.text+0x218b): undefined reference to al_flush_event_queue' ./build/menus.o:menus.cpp:(.text+0x21f3): undefined reference toal_wait_for_event' ./build/menus.o:menus.cpp:(.text+0x23b5): undefined reference to al_draw_bitmap' ./build/menus.o:menus.cpp:(.text+0x249f): undefined reference toal_draw_rounded_rectangle' ./build/menus.o:menus.cpp:(.text+0x2594): undefined reference to al_draw_bitmap' ./build/menus.o:menus.cpp:(.text+0x267e): undefined reference toal_draw_rounded_rectangle' ./build/menus.o:menus.cpp:(.text+0x2773): undefined reference to al_draw_bitmap' ./build/menus.o:menus.cpp:(.text+0x285d): undefined reference toal_draw_rounded_rectangle' ./build/menus.o:menus.cpp:(.text+0x2952): undefined reference to al_draw_bitmap' ./build/menus.o:menus.cpp:(.text+0x2a3c): undefined reference toal_draw_rounded_rectangle' ./build/menus.o:menus.cpp:(.text+0x2a41): undefined reference to al_flip_display' ./build/menus.o:menus.cpp:(.text+0x2a6e): undefined reference toal_flush_event_queue' ./build/menus.o:menus.cpp:(.text+0x2a82): undefined reference to al_wait_for_event' ./build/sounds.o:sounds.cpp:(.text+0xe): undefined reference toal_load_sample' ./build/sounds.o:sounds.cpp:(.text+0x1f): undefined reference to al_load_sample' ./build/sounds.o:sounds.cpp:(.text+0x30): undefined reference toal_load_sample' ./build/sounds.o:sounds.cpp:(.text+0x41): undefined reference to al_load_sample' ./build/sounds.o:sounds.cpp:(.text+0x52): undefined reference toal_load_sample' ./build/sounds.o:sounds.cpp:(.text+0x63): more undefined references to al_load_sample' follow ./build/sounds.o:sounds.cpp:(.text+0xb2): undefined reference toal_set_audio_stream_playmode' ./build/sounds.o:sounds.cpp:(.text+0xc7): undefined reference to al_set_audio_stream_playmode' ./build/sounds.o:sounds.cpp:(.text+0xcc): undefined reference toal_get_default_mixer' ./build/sounds.o:sounds.cpp:(.text+0xdb): undefined reference to al_attach_audio_stream_to_mixer' ./build/sounds.o:sounds.cpp:(.text+0xf9): undefined reference toal_set_audio_stream_playing' ./build/sounds.o:sounds.cpp:(.text+0x10e): undefined reference to al_set_audio_stream_playing' ./build/sounds.o:sounds.cpp:(.text+0x135): undefined reference toal_set_audio_stream_playing' ./build/sounds.o:sounds.cpp:(.text+0x140): undefined reference to al_destroy_audio_stream' ./build/sounds.o:sounds.cpp:(.text+0x164): undefined reference toal_load_audio_stream' ./build/sounds.o:sounds.cpp:(.text+0x177): undefined reference to al_rewind_audio_stream' ./build/sounds.o:sounds.cpp:(.text+0x192): undefined reference toal_set_audio_stream_gain' ./build/sounds.o:sounds.cpp:(.text+0x1b5): undefined reference to al_set_audio_stream_playing' ./build/sounds.o:sounds.cpp:(.text+0x1d8): undefined reference toal_set_audio_stream_playing' ./build/sounds.o:sounds.cpp:(.text+0x21d): undefined reference to al_play_sample' ./build/sounds.o:sounds.cpp:(.text+0x23c): undefined reference toal_create_sample_instance' ./build/sounds.o:sounds.cpp:(.text+0x244): undefined reference to al_get_default_mixer' ./build/sounds.o:sounds.cpp:(.text+0x253): undefined reference toal_attach_sample_instance_to_mixer' ./build/sounds.o:sounds.cpp:(.text+0x266): undefined reference to al_set_sample_instance_playmode' ./build/sounds.o:sounds.cpp:(.text+0x271): undefined reference toal_play_sample_instance' ./build/sounds.o:sounds.cpp:(.text+0x294): undefined reference to al_stop_sample_instance' ./build/sounds.o:sounds.cpp:(.text+0x29f): undefined reference toal_detach_sample_instance' ./build/sounds.o:sounds.cpp:(.text+0x2c0): undefined reference to al_set_sample_instance_gain' ./build/sounds.o:sounds.cpp:(.text+0x2d6): undefined reference toal_destroy_audio_stream' ./build/sounds.o:sounds.cpp:(.text+0x2e3): undefined reference to al_destroy_sample' ./build/sounds.o:sounds.cpp:(.text+0x2f0): undefined reference toal_destroy_sample' ./build/sounds.o:sounds.cpp:(.text+0x2fd): undefined reference to al_destroy_sample' ./build/sounds.o:sounds.cpp:(.text+0x30a): undefined reference toal_destroy_sample' ./build/sounds.o:sounds.cpp:(.text+0x317): undefined reference to al_destroy_sample' ./build/sounds.o:sounds.cpp:(.text+0x324): more undefined references toal_destroy_sample' follow collect2.exe: error: ld returned 1 exit status makefile-windows:28: recipe for target 'top-gear' failed mingw32-make: *** [top-gear] Error 1