I tried to compile the current master branch on Windows 10 by following the instructions here. However I got undefined references to (I think) OpenAL, for which pacman has reported a successful install. Is there anything out-of-date in the instructions? Thanks!
Here's the relevant part of the compiler output:
g++ -Wall -std=c++1y -Wno-sign-compare -Wno-unused-variable -Wno-strict-aliasing -Wl,--build-id -Wl,--large-address-aware -I. -I./extern -Winvalid-pch -DWINDOWS -g -fno-omit-frame-pointer -DRELEASE -O2 -o keeper obj/z_level_info.o obj/zones.o obj/workshops.o obj/workshop_item.o obj/window_view.o obj/vision.o obj/visibility_map.o obj/villain_type.o obj/village_control.o obj/village_behaviour.o obj/view_object_action.o obj/view_index.o obj/view_object.o obj/view_id.o obj/view.o obj/variant_serialize.o obj/util.o obj/unzip.o obj/unknown_locations.o obj/unique_entity.o obj/tutorial.o obj/tribe_alignment.o obj/tribe.o obj/tileset.o obj/time_queue.o obj/tile.o obj/tile_paths.o obj/texture.o obj/test.o obj/territory.o obj/technology.o obj/team_order.o obj/team_member_action.o obj/task_map.o obj/task.o obj/sunlight_info.o obj/stb_truetype.o obj/statistics.o obj/stair_key.o obj/stack_printer.o obj/square_array.o obj/square.o obj/spell_map.o obj/spell_school.o obj/spell.o obj/spectator.o obj/special_trait.o obj/sound_library.o obj/sound.o obj/sokoban_input.o obj/skill.o obj/singleton.o obj/simple_game.o obj/shortest_path.o obj/serialization.o obj/sectors.o obj/sdl_event_generator.o obj/scroll_position.o obj/saved_game_info.o obj/retired_games.o obj/roof_support.o obj/resource_counts.o obj/renderer.o obj/renderable.o obj/quarters.o obj/ranged_weapon.o obj/progress_meter.o obj/progress.o obj/pretty_printing.o obj/position_matching.o obj/position_map.o obj/position.o obj/portals.o obj/poison_gas.o obj/player_role.o obj/player_message.o obj/player_control.o obj/player.o obj/parse_game.o obj/options.o obj/opengl.o obj/navigation_flags.o obj/name_generator.o obj/music.o obj/movement_type.o obj/movement_set.o obj/movement_info.o obj/move_info.o obj/monster_ai.o obj/monster.o obj/model_builder.o obj/model.o obj/miniunz.o obj/minion_trait.o obj/minion_equipment.o obj/minion_controller.o obj/minion_activity.o obj/minion_activity_map.o obj/minimap_gui.o obj/message_generator.o obj/map_memory.o obj/map_layouts.o obj/map_layout.o obj/map_gui.o obj/main_loop.o obj/main.o obj/level_maker.o obj/level_builder.o obj/level.o obj/lasting_effect.o obj/known_tiles.o obj/keybinding_map.o obj/key_verifier.o obj/keeper_creature_info.o obj/item_upgrade_info.o obj/item_type.o obj/item_prefix.o obj/item_list.o obj/item_index.o obj/item_fetch_info.o obj/item_factory.o obj/item_attributes.o obj/item.o obj/ioapi.o obj/inventory.o obj/intrinsic_attack.o obj/input_queue.o obj/inhabitants_info.o obj/immigration.o obj/immigrant_info.o obj/highscores.o obj/gui_elem.o obj/gzstream.o obj/gui_builder.o obj/gender.o obj/game_time.o obj/game_info.o obj/game_config.o obj/game.o obj/fx_vec.o obj/fx_view_manager.o obj/fx_texture_factory.o obj/fx_renderer.o obj/fx_particle_system.o obj/fx_math.o obj/fx_manager.o obj/fx_info.o obj/fx_factory.o obj/fx_draw_buffers.o obj/fx_emission_source.o obj/fx_curve.o obj/fx_color.o obj/furniture_usage.o obj/furniture_tick.o obj/furniture_on_built.o obj/furniture_list.o obj/furniture_factory.o obj/furniture_entry.o obj/furniture_click.o obj/furniture_dropped_items.o obj/furniture_array.o obj/furniture.o obj/framebuffer.o obj/fps_counter.o obj/fontstash.o obj/fire.o obj/file_sharing.o obj/file_path.o obj/field_of_view.o obj/external_enemies.o obj/experience_type.o obj/event_generator.o obj/equipment.o obj/entity_set.o obj/entity_map.o obj/enemy_info.o obj/enemy_factory.o obj/encyclopedia.o obj/effect.o obj/dungeon_level.o obj/drag_and_drop.o obj/draw_line.o obj/debug.o obj/directory_path.o obj/destroy_action.o obj/creature_status.o obj/creature_predicate.o obj/creature_name.o obj/creature_list.o obj/creature_inventory.o obj/creature_factory.o obj/creature_group.o obj/creature_experience_info.o obj/creature_attributes.o obj/creature_debt.o obj/creature_action.o obj/creature.o obj/cost_info.o obj/content_id.o obj/controller.o obj/content_factory.o obj/construction_map.o obj/color.o obj/collective_warning.o obj/collective_teams.o obj/collective_control.o obj/collective_config.o obj/collective_builder.o obj/collective_attack.o obj/collective.o obj/clock.o obj/campaign_builder.o obj/campaign.o obj/bucket_map.o obj/build_info.o obj/body_part.o obj/body.o obj/best_attack.o obj/battle_test.o obj/avatar_info.o obj/automaton_part.o obj/audio_device.o obj/attr_type.o obj/animation.o obj/animation_id.o obj/extern/lodepng.o -mwindows keeper32.res -lvorbisfile -lvorbis -logg -lSDL2_image -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lole32 -ldinput -lddraw -ldxguid -lwinmm -ldsound -lpsapi -lgdiplus -lshlwapi -luuid -ldbghelp -lSDL2 -lSDL2main -lglut -lglu32 -lz -ljpeg -lopengl32 -lcurl -limagehlp -lpthread
C:/Dev/MSYS2/mingw32/bin/../lib/gcc/i686-w64-mingw32/10.1.0/../../../../i686-w64-mingw32/bin/ld.exe: obj/audio_device.o:C:\dev\Projects\KeeperRL\KeeperRL-Fork/audio_device.cpp:43: undefined reference to `_imp__alGetError'
C:/Dev/MSYS2/mingw32/bin/../lib/gcc/i686-w64-mingw32/10.1.0/../../../../i686-w64-mingw32/bin/ld.exe: obj/audio_device.o: in function `checkError':
C:\dev\Projects\KeeperRL\KeeperRL-Fork/audio_device.cpp:44: undefined reference to `_imp__alGetString'
C:/Dev/MSYS2/mingw32/bin/../lib/gcc/i686-w64-mingw32/10.1.0/../../../../i686-w64-mingw32/bin/ld.exe: obj/audio_device.o: in function `ZNK11SoundStream9isPlayingEv':
C:\dev\Projects\KeeperRL\KeeperRL-Fork/audio_device.cpp:166: undefined reference to `_imp__alGetSourcei'
C:/Dev/MSYS2/mingw32/bin/../lib/gcc/i686-w64-mingw32/10.1.0/../../../../i686-w64-mingw32/bin/ld.exe: obj/audio_device.o: in function `ZN11SoundStream9setVolumeEd':
C:\dev\Projects\KeeperRL\KeeperRL-Fork/audio_device.cpp:171: undefined reference to `_imp__alSourcef'
C:/Dev/MSYS2/mingw32/bin/../lib/gcc/i686-w64-mingw32/10.1.0/../../../../i686-w64-mingw32/bin/ld.exe: obj/audio_device.o: in function `ZN11SoundStream4initERK8FilePath':
C:\dev\Projects\KeeperRL\KeeperRL-Fork/audio_device.cpp:183: undefined reference to `_imp__alGenBuffers'
C:/Dev/MSYS2/mingw32/bin/../lib/gcc/i686-w64-mingw32/10.1.0/../../../../i686-w64-mingw32/bin/ld.exe: obj/audio_device.o: in function `ZN11SoundBufferD4Ev':
C:\dev\Projects\KeeperRL\KeeperRL-Fork/audio_device.cpp:112: undefined reference to `_imp__alDeleteBuffers'
C:/Dev/MSYS2/mingw32/bin/../lib/gcc/i686-w64-mingw32/10.1.0/../../../../i686-w64-mingw32/bin/ld.exe: obj/audio_device.o: in function `ZN11SoundSource7destroyEv':
C:\dev\Projects\KeeperRL\KeeperRL-Fork/audio_device.cpp:152: undefined reference to `_imp__alDeleteSources'
C:/Dev/MSYS2/mingw32/bin/../lib/gcc/i686-w64-mingw32/10.1.0/../../../../i686-w64-mingw32/bin/ld.exe: obj/audio_device.o: in function `ZN11SoundSourceC2Ev':
C:\dev\Projects\KeeperRL\KeeperRL-Fork/audio_device.cpp:126: undefined reference to `_imp__alGenSources'
C:/Dev/MSYS2/mingw32/bin/../lib/gcc/i686-w64-mingw32/10.1.0/../../../../i686-w64-mingw32/bin/ld.exe: obj/audio_device.o: in function `ZN11SoundSource7destroyEv':
C:\dev\Projects\KeeperRL\KeeperRL-Fork/audio_device.cpp:152: undefined reference to `_imp__alDeleteSources'
C:/Dev/MSYS2/mingw32/bin/../lib/gcc/i686-w64-mingw32/10.1.0/../../../../i686-w64-mingw32/bin/ld.exe: C:\dev\Projects\KeeperRL\KeeperRL-Fork/audio_device.cpp:152: undefined reference to `_imp__alDeleteSources'
C:/Dev/MSYS2/mingw32/bin/../lib/gcc/i686-w64-mingw32/10.1.0/../../../../i686-w64-mingw32/bin/ld.exe: obj/audio_device.o: in function `ZN11AudioDeviceD2Ev':
C:\dev\Projects\KeeperRL\KeeperRL-Fork/audio_device.cpp:32: undefined reference to `_imp__alcMakeContextCurrent'
C:/Dev/MSYS2/mingw32/bin/../lib/gcc/i686-w64-mingw32/10.1.0/../../../../i686-w64-mingw32/bin/ld.exe: C:\dev\Projects\KeeperRL\KeeperRL-Fork/audio_device.cpp:33: undefined reference to `_imp__alcDestroyContext'
C:/Dev/MSYS2/mingw32/bin/../lib/gcc/i686-w64-mingw32/10.1.0/../../../../i686-w64-mingw32/bin/ld.exe: C:\dev\Projects\KeeperRL\KeeperRL-Fork/audio_device.cpp:34: undefined reference to `_imp__alcCloseDevice'
C:/Dev/MSYS2/mingw32/bin/../lib/gcc/i686-w64-mingw32/10.1.0/../../../../i686-w64-mingw32/bin/ld.exe: obj/audio_device.o: in function `ZN11SoundSource7destroyEv':
C:\dev\Projects\KeeperRL\KeeperRL-Fork/audio_device.cpp:152: undefined reference to `_imp__alDeleteSources'
C:/Dev/MSYS2/mingw32/bin/../lib/gcc/i686-w64-mingw32/10.1.0/../../../../i686-w64-mingw32/bin/ld.exe: C:\dev\Projects\KeeperRL\KeeperRL-Fork/audio_device.cpp:152: undefined reference to `_imp__alDeleteSources'
C:/Dev/MSYS2/mingw32/bin/../lib/gcc/i686-w64-mingw32/10.1.0/../../../../i686-w64-mingw32/bin/ld.exe: obj/audio_device.o: in function `ZN11SoundStreamD2Ev':
C:\dev\Projects\KeeperRL\KeeperRL-Fork/audio_device.cpp:226: undefined reference to `_imp__alDeleteBuffers'
C:/Dev/MSYS2/mingw32/bin/../lib/gcc/i686-w64-mingw32/10.1.0/../../../../i686-w64-mingw32/bin/ld.exe: obj/audio_device.o: in function `ZN11SoundSource7destroyEv':
C:\dev\Projects\KeeperRL\KeeperRL-Fork/audio_device.cpp:152: undefined reference to `_imp__alDeleteSources'
C:/Dev/MSYS2/mingw32/bin/../lib/gcc/i686-w64-mingw32/10.1.0/../../../../i686-w64-mingw32/bin/ld.exe: C:\dev\Projects\KeeperRL\KeeperRL-Fork/audio_device.cpp:152: undefined reference to `_imp__alDeleteSources'
C:/Dev/MSYS2/mingw32/bin/../lib/gcc/i686-w64-mingw32/10.1.0/../../../../i686-w64-mingw32/bin/ld.exe: obj/audio_device.o: in function `ZN11AudioDevice10initializeB5cxx11Ev':
C:\dev\Projects\KeeperRL\KeeperRL-Fork/audio_device.cpp:17: undefined reference to `_imp__alcOpenDevice'
C:/Dev/MSYS2/mingw32/bin/../lib/gcc/i686-w64-mingw32/10.1.0/../../../../i686-w64-mingw32/bin/ld.exe: C:\dev\Projects\KeeperRL\KeeperRL-Fork/audio_device.cpp:18: undefined reference to `_imp__alcCreateContext'
C:/Dev/MSYS2/mingw32/bin/../lib/gcc/i686-w64-mingw32/10.1.0/../../../../i686-w64-mingw32/bin/ld.exe: C:\dev\Projects\KeeperRL\KeeperRL-Fork/audio_device.cpp:19: undefined reference to `_imp__alcMakeContextCurrent'
C:/Dev/MSYS2/mingw32/bin/../lib/gcc/i686-w64-mingw32/10.1.0/../../../../i686-w64-mingw32/bin/ld.exe: C:\dev\Projects\KeeperRL\KeeperRL-Fork/audio_device.cpp:20: undefined reference to `_imp__alDistanceModel'
C:/Dev/MSYS2/mingw32/bin/../lib/gcc/i686-w64-mingw32/10.1.0/../../../../i686-w64-mingw32/bin/ld.exe: C:\dev\Projects\KeeperRL\KeeperRL-Fork/audio_device.cpp:25: undefined reference to `_imp__alGetError'
C:/Dev/MSYS2/mingw32/bin/../lib/gcc/i686-w64-mingw32/10.1.0/../../../../i686-w64-mingw32/bin/ld.exe: obj/audio_device.o: in function `ZN11AudioDevice13getFreeSourceEv':
C:\dev\Projects\KeeperRL\KeeperRL-Fork/audio_device.cpp:52: undefined reference to `_imp__alGetSourcei'
C:/Dev/MSYS2/mingw32/bin/../lib/gcc/i686-w64-mingw32/10.1.0/../../../../i686-w64-mingw32/bin/ld.exe: obj/audio_device.o: in function `ZN11SoundSource7destroyEv':
C:\dev\Projects\KeeperRL\KeeperRL-Fork/audio_device.cpp:152: undefined reference to `_imp__alDeleteSources'
C:/Dev/MSYS2/mingw32/bin/../lib/gcc/i686-w64-mingw32/10.1.0/../../../../i686-w64-mingw32/bin/ld.exe: obj/audio_device.o: in function `ZN11AudioDevice4playERK11SoundBufferdd':
C:\dev\Projects\KeeperRL\KeeperRL-Fork/audio_device.cpp:73: undefined reference to `_imp__alSourcei'
C:/Dev/MSYS2/mingw32/bin/../lib/gcc/i686-w64-mingw32/10.1.0/../../../../i686-w64-mingw32/bin/ld.exe: C:\dev\Projects\KeeperRL\KeeperRL-Fork/audio_device.cpp:74: undefined reference to `_imp__alSourcef'
C:/Dev/MSYS2/mingw32/bin/../lib/gcc/i686-w64-mingw32/10.1.0/../../../../i686-w64-mingw32/bin/ld.exe: C:\dev\Projects\KeeperRL\KeeperRL-Fork/audio_device.cpp:76: undefined reference to `_imp__alSourcePlay'
C:/Dev/MSYS2/mingw32/bin/../lib/gcc/i686-w64-mingw32/10.1.0/../../../../i686-w64-mingw32/bin/ld.exe: C:\dev\Projects\KeeperRL\KeeperRL-Fork/audio_device.cpp:71: undefined reference to `_imp__alGetSourcei'
C:/Dev/MSYS2/mingw32/bin/../lib/gcc/i686-w64-mingw32/10.1.0/../../../../i686-w64-mingw32/bin/ld.exe: obj/audio_device.o: in function `ZN11SoundBufferC2ERK8FilePath':
C:\dev\Projects\KeeperRL\KeeperRL-Fork/audio_device.cpp:103: undefined reference to `_imp__alGenBuffers'
C:/Dev/MSYS2/mingw32/bin/../lib/gcc/i686-w64-mingw32/10.1.0/../../../../i686-w64-mingw32/bin/ld.exe: C:\dev\Projects\KeeperRL\KeeperRL-Fork/audio_device.cpp:104: undefined reference to `_imp__alBufferData'
C:/Dev/MSYS2/mingw32/bin/../lib/gcc/i686-w64-mingw32/10.1.0/../../../../i686-w64-mingw32/bin/ld.exe: obj/audio_device.o: in function `ZN11SoundStream4loopEv':
C:\dev\Projects\KeeperRL\KeeperRL-Fork/audio_device.cpp:191: undefined reference to `_imp__alBufferData'
C:/Dev/MSYS2/mingw32/bin/../lib/gcc/i686-w64-mingw32/10.1.0/../../../../i686-w64-mingw32/bin/ld.exe: C:\dev\Projects\KeeperRL\KeeperRL-Fork/audio_device.cpp:194: undefined reference to `_imp__alBufferData'
C:/Dev/MSYS2/mingw32/bin/../lib/gcc/i686-w64-mingw32/10.1.0/../../../../i686-w64-mingw32/bin/ld.exe: C:\dev\Projects\KeeperRL\KeeperRL-Fork/audio_device.cpp:196: undefined reference to `_imp__alSourceQueueBuffers'
C:/Dev/MSYS2/mingw32/bin/../lib/gcc/i686-w64-mingw32/10.1.0/../../../../i686-w64-mingw32/bin/ld.exe: C:\dev\Projects\KeeperRL\KeeperRL-Fork/audio_device.cpp:197: undefined reference to `_imp__alSourcef'
C:/Dev/MSYS2/mingw32/bin/../lib/gcc/i686-w64-mingw32/10.1.0/../../../../i686-w64-mingw32/bin/ld.exe: C:\dev\Projects\KeeperRL\KeeperRL-Fork/audio_device.cpp:198: undefined reference to `_imp__alGetError'
C:/Dev/MSYS2/mingw32/bin/../lib/gcc/i686-w64-mingw32/10.1.0/../../../../i686-w64-mingw32/bin/ld.exe: C:\dev\Projects\KeeperRL\KeeperRL-Fork/audio_device.cpp:200: undefined reference to `_imp__alSourcePlay'
C:/Dev/MSYS2/mingw32/bin/../lib/gcc/i686-w64-mingw32/10.1.0/../../../../i686-w64-mingw32/bin/ld.exe: C:\dev\Projects\KeeperRL\KeeperRL-Fork/audio_device.cpp:188: undefined reference to `_imp__alGetSourcei'
C:/Dev/MSYS2/mingw32/bin/../lib/gcc/i686-w64-mingw32/10.1.0/../../../../i686-w64-mingw32/bin/ld.exe: C:\dev\Projects\KeeperRL\KeeperRL-Fork/audio_device.cpp:215: undefined reference to `_imp__alSourceQueueBuffers'
C:/Dev/MSYS2/mingw32/bin/../lib/gcc/i686-w64-mingw32/10.1.0/../../../../i686-w64-mingw32/bin/ld.exe: C:\dev\Projects\KeeperRL\KeeperRL-Fork/audio_device.cpp:212: undefined reference to `_imp__alSourceUnqueueBuffers'
C:/Dev/MSYS2/mingw32/bin/../lib/gcc/i686-w64-mingw32/10.1.0/../../../../i686-w64-mingw32/bin/ld.exe: C:\dev\Projects\KeeperRL\KeeperRL-Fork/audio_device.cpp:213: undefined reference to `_imp__alBufferData'
C:/Dev/MSYS2/mingw32/bin/../lib/gcc/i686-w64-mingw32/10.1.0/../../../../i686-w64-mingw32/bin/ld.exe: obj/audio_device.o: in function `ZN11SoundSource7destroyEv':
C:\dev\Projects\KeeperRL\KeeperRL-Fork/audio_device.cpp:152: undefined reference to `_imp__alDeleteSources'
collect2.exe: error: ld returned 1 exit status
make[1]: *** [Makefile-win:113: keeper] Error 1
make: *** [Makefile-win:97: all] Error 2
Hi,
I tried to compile the current
master
branch on Windows 10 by following the instructions here. However I got undefined references to (I think) OpenAL, for whichpacman
has reported a successful install. Is there anything out-of-date in the instructions? Thanks!Here's the relevant part of the compiler output: