3

我正在尝试开始使用 FMOD,但在编译本教程中的示例代码时遇到了一些问题:

http://www.gamedev.net/reference/articles/article2098.asp

我正在使用 MinGW,我将 libfmodex.a 文件放在 MinGW 的包含文件夹中(我也尝试直接链接到文件名)但它不起作用。这是输出。

C:\>g++ -o test1.exe test1.cpp -lfmodex
test1.cpp:4:1: error: 'FSOUND_SAMPLE' does not name a type
test1.cpp: In function 'int main()':
test1.cpp:9:29: error: 'FSOUND_Init' was not declared in this scope
test1.cpp:12:4: error: 'handle' was not declared in this scope
test1.cpp:12:53: error: 'FSOUND_Sample_Load' was not declared in this scope
test1.cpp:13:30: error: 'FSOUND_PlaySound' was not declared in this scope
test1.cpp:21:30: error: 'FSOUND_Sample_Free' was not declared in this scope
test1.cpp:22:17: error: 'FSOUND_Close' was not declared in this scope

这是我正在使用的特定示例:

#include <conio.h>
#include "inc/fmod.h"

FSOUND_SAMPLE* handle;

int main ()
{
   // init FMOD sound system
   FSOUND_Init (44100, 32, 0);

   // load and play sample
   handle=FSOUND_Sample_Load (0,"sample.mp3",0, 0, 0);
   FSOUND_PlaySound (0,handle);

   // wait until the users hits a key to end the app
   while (!_kbhit())
   {
   }

   // clean up
   FSOUND_Sample_Free (handle);
   FSOUND_Close();
}

我的代码所在的“inc”路径中有头文件。关于我做错了什么的任何想法?

4

2 回答 2

6

那是一个旧教程,从那时起 FMOD API 发生了变化。

例如,FSOUND_SAMPLE现在不是 ,而是FMOD::Sound(我认为)。

看看你的内部fmod.h,你可以看到你应该使用哪些类和函数。

于 2010-12-31T16:50:02.403 回答
2

gamedev 文章很旧,并且顽固地使用了旧版本的库。请参阅 FMOD Programmers API 的示例目录。

于 2010-12-31T16:58:53.020 回答