【发布时间】:2011-11-29 06:51:13
【问题描述】:
如何使用 mingw 从 gamedev 编译以下 example?我已经将 openAl SDK 安装到 C:\Program Files (x86)\OpenAL 1.1 SDK 并且我在 C:\MinGW 和 C:\msys 中安装了 mingw 和 msys。
我不确定如何编译或链接什么。我查看了文档,但他们没有指定任何内容。
【问题讨论】:
标签: audio gcc g++ mingw openal
如何使用 mingw 从 gamedev 编译以下 example?我已经将 openAl SDK 安装到 C:\Program Files (x86)\OpenAL 1.1 SDK 并且我在 C:\MinGW 和 C:\msys 中安装了 mingw 和 msys。
我不确定如何编译或链接什么。我查看了文档,但他们没有指定任何内容。
【问题讨论】:
标签: audio gcc g++ mingw openal
那个页面上的“下载示例ZIP”链接给了我一个404,并且文章中的sn-ps不完整。
除了连接 sn-ps 之外,您至少需要为 al/al.h 和 al/alc.h 添加 #include 指令才能编译。
要链接程序,您需要链接到 OpenAL 导入库,它在我的系统上称为 libOpenAL32.dll.a。您也可以找到OpenAL32.lib(MSVC 版本,仍然可以使用)或仅找到系统上的 DLL 文件。
--- 我的系统上有 OpenAL-Soft(在 3 个不同的版本中)和 Creatix 一个,这使得选择正确的导入库成为一种努力(更是如此,因为制造商往往总是给出这些相似的、令人困惑的名称)。
这导致了我正在使用的解决方案:直接链接到 DLL。幸运的是,MinGW(除了大多数其他编译器)会做这种事情就好了:-)
例如,我只是将-l"z:/lib/soft_oal113-sse41.dll" 添加到链接器的命令行以链接到该特定版本,它只是这样做没有任何抱怨,不需要导入库,没有混淆。
【讨论】:
就像其他响应者所说,您应该能够下载并使用他们的二进制文件。如果你最终想要使用 mingw 构建 OpenAL,根据 http://ingar.satgnu.net/devenv/mingw32/local.html#openalsoft
(先安装cmake)
cd 构建
cmake.exe -G "MSYS Makefiles" ..
制作
GL!
【讨论】: