Я пытаюсь установить последнюю версию mingw64 для ссылки на OpenAL.dll. Я использую кодовые блоки 17.12. Проблема в том, что исходных файлов нет. В OpenAL SDK есть только файл lib и dll. mingw64 не будет ссылаться ни на файл lib, ни на dll. Если я попытаюсь установить ссылку на OpenAL32.dll, ld.exe выйдет из строя, и это будет ошибка:
x86_64-w64-mingw32-c++.exe -std=c++98 -Wall -g -O0 -DWIN32 -D_DEBUG -D_WINDOWS -D_CRT_SECURE_NO_WARNINGS -DCODEBLOCKS -DGLEW_STATIC -DGLFW_DLL -std=c++98 -IC:\projects\libs\glfw\include -IC:\projects\libs\bullet\src -IC:\projects\libs\boost -IC:\projects\libs\glew\include -IC:\projects\libs\OpenAL\include -IC:\projects\libs\libpng -IC:\projects\libs\vectorclass -c C:\backup\warlord\Warlord\Warlord\Sound.cpp -o CodeBlocksDebug\Sound.o
x86_64-w64-mingw32-g++.exe -o CodeBlocksDebug\MercTactics.exe CodeBlocksDebug\AboutScreen.o CodeBlocksDebug\Action.o CodeBlocksDebug\ZoomToBattle.o -lwinmm C:\projects\libs\glfw-3.2.1\lib\libglfw3.a C:\backup\warlord\Warlord\release\OpenAL32.dll C:\projects\libs\OpenAL\libs\alut.dll C:\projects\libs\glew\lib\libglew32s.a C:\projects\libs\bullet\lib\bullet.a ..\..\..\..\projects\libs\libpng\libpng.a ..\..\..\..\projects\libs\libpng\libzlib.a C:\Windows\System32\opengl32.dll -mwindows
collect2.exe: error: ld returned 5 exit status
Process terminated with status 1 (0 minute(s), 4 second(s))
1 error(s), 0 warning(s) (0 minute(s), 4 second(s))
Зайдите в настройки компилятора C :: B, перейдите на вкладку «другие настройки» и активируйте «ведение журнала компилятора». Полная командная строка. Затем повторите компиляцию и отредактируйте свой пост с полным сообщением об ошибке.





После нескольких часов поисков я наконец-то понял, что это работает. Я использовал dlltool для создания файла .a, а затем он связался нормально
D: \ mingw64 \ x86_64-w64-mingw32 \ bin \ dlltool -d OpenAL 32.def -D OpenAL32.dll -k -a -l libopenal32.a -v
Я не знаю насчет обычного OpenAL, но я успешно использую OpenAL-soft с MinGW-w64. (Вам придется скомпилировать его самостоятельно.)