audio - 用mingw编译和链接openAL?

标签 audio gcc g++ mingw openal

如何编译以下 example从gamedev使用mingw?。我已将 openAl SDK 安装到 C:\Program Files (x86)\OpenAL 1.1 SDK我在 C:\MinGW 中安装了 mingw 和 msys和 C:\msys .

我不确定如何编译或链接什么。我查看了文档,但他们没有指定任何内容。

最佳答案

该页面上的“下载示例 ZIP”链接给了我一个 404,并且文章中的片段不完整。

除了连接片段之外,您至少需要添加 #include al/al.h 的指令和 al/alc.h为了编译。

要链接程序,您需要链接名为 libOpenAL32.dll.a 的 OpenAL 导入库。在我的系统上。您也可以找到 OpenAL32.lib (MSVC 版本,它仍然可以工作)或者只有系统上的 DLL 文件。
--- 我的系统上同时拥有 OpenAL-Soft(在 3 个不同的版本中)和 Creatix,这使得选择正确的导入库成为一种努力(更重要的是,制造商往往总是给出这些相似的、令人困惑的名称)。

这导致了我正在使用的解决方案:直接链接到 DLL .幸运的是,MinGW(除了大多数其他编译器)会做这种事情就好了:-)

例如,我只是添加 -l"z:/lib/soft_oal113-sse41.dll"到链接器的命令行以链接到该特定版本,它只是这样做没有任何提示,不需要导入库,没有混淆。

关于audio - 用mingw编译和链接openAL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8306951/

相关文章:

iphone - 播放有声音的iPhone吗?

c - 如何使用 GCC 更改基址?

c++ - constexpr 和带有重新解释转换的静态 const void 指针的初始化,哪个编译器是正确的?

c++ - 由于变体成员,N3690/N4140 与 N4659/N4727,隐式定义的构造函数被删除

c++ - gcc3 和 gcc4 关于未初始化变量的区别

c - 编译时出错

java - 使用musicg库在android中创建频谱图

java - Java 播放多媒体

java - Clip.open(AudioInputStream) 有时会挂起几秒钟

c - 符号 etext、edata 和 end 在哪里定义?