我正在尝试获取最新的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))
答案 0 :(得分:1)
经过数小时的搜索,我终于使它工作了。我用dlltool创建了一个.a文件,然后链接得很好
D:\ mingw64 \ x86_64-w64-mingw32 \ bin \ dlltool -d OpenAL 32.def -D OpenAL32.dll -k -a -l libopenal32.a -v