将FMOD声音工具集成到游戏中

时间:2013-11-03 04:34:55

标签: makefile g++ ubuntu-12.04 fmod

我这里没有找到与FMOD和makefile有关的帖子,我试图从FMOD论坛获得一些帮助,但他们的数据库已关闭。所以,就是这样。

我正在使用Linux Ubuntu 12.04 LTS 32位。我想将FMOD声音功能整合到空气曲棍球比赛中。我有功能正常的游戏,我有一个功能正常的“例子”。我不太熟悉各种makefile语法和制作FMOD应用程序,这就是我在这里的原因。

这是示例的makefile:

x86: main.cpp
        g++ -O2 -m32 -o example $< ../../api/lib/libfmodex.so

x64: main.cpp
        g++ -O2 -m64 -o example $< ../../api/lib/libfmodex64.so

x86_c: main.c
        g++ -O2 -m32 -o example $< ../../api/lib/libfmodex.so

x64_c: main.c
        g++ -O2 -m64 -o example $< ../../api/lib/libfmodex64.so

clean:
        rm -f example

据我所知,示例makefile可以根据您使用的架构和语言确定要加载的内容。我不知道示例makefile中的标志我应该放在空气曲棍球makefile的标志列表中。我害怕搞砸了。

此外,我想确保游戏可以在任何计算机上运行,​​而无需引用计算机上可能不存在的/usr/local/include/usr/local/lib

新手在这里。非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

根据您告诉它的目标,makefile将根据两个源文件之一构建两个体系结构之一的示例二进制文件。选择是:

`x86` which builds a 32 bit program from the example C++ source file.
`x64` which builds a 64 bit program from the example C++ source file.
`x86_c` which builds a 32 bit program from the example C source file.
`x64_c` which builds a 64 bit program from the example C source file.

该代码的主要部分,就用FMOD构建你的游戏来说,它是在编译行中包含适当的FMOD共享对象文件(虽然我通常不会看到这样做)。

您需要在游戏的编译命令中包含与相应库类似的路径,或者(如果您使用的是已安装在系统上的FMOD库),您只需要包含正确的-L和gcc / g ++的-l标志。 -L告诉编译器在哪里搜索FMOD库,-l告诉它库名是什么(对于这些示例情况,-lfmodex-lfmodex64。 / p>