我这里没有找到与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
。
新手在这里。非常感谢任何帮助。
答案 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>