3

I'm trying to get started with FMOD but I'm having some issues compiling the example code in this tutorial:

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

I'm using MinGW, I placed the libfmodex.a file in MinGW's include folder (I also tried linking directly to the filename) but it doesn't work. Here's the output.

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

This is the particular example I'm using:

#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();
}

I have the header files in the "inc" path where my code is. Any ideas as to what I'm doing wrong?

CptAJ
  • 1,156
  • 1
  • 13
  • 20

2 Answers2

6

That is an old tutorial, the FMOD API has changed since then.

For example, instead of FSOUND_SAMPLE, it is now FMOD::Sound (I think).

Have a look inside your fmod.h and you can see what classes and functions you should be using.

Peter Alexander
  • 53,344
  • 14
  • 119
  • 168
  • Thanks. I guess its just me and the examples then. I wish sound wasn't such an arcane subject for programmers. There's not enough info out there, heh. – CptAJ Dec 31 '10 at 17:20
  • Also note that there is a transition guide from the old API (FMOD 3) to the new API (FMOD Ex) in the tutorials section of the documentation file "fmodex.chm". – Mathew Block Jan 03 '11 at 22:35
2

The gamedev article is old and obsiously uses an old version of the library. See the examples directory of the FMOD Programmers API.

hmuelner
  • 8,093
  • 1
  • 28
  • 39
  • Thanks! That seems to be the problem. I'd give you the accepted answer too if I could but Peter beat you by 9 minutes =P – CptAJ Dec 31 '10 at 17:22