Page 1 of 1

FMOD Include

Posted: Mon Mar 28, 2005 10:22 pm
by 125
Hi,
I have an Problem with Linux-FMOD and PB i took the Wrapper Include from the Windows Version (fmod_proc.pbi, con_struc.pbi) and made it Linux compatibel, downloaded the Linux Fmodlib and copied it in the compilers directory and in the MandrakeLibs directory and in the usr/bin directory. But when i compile my Project with it or when i compile that new include alone i get an Linker Error
purebasic.o(.text+0x4896): In function `main':
: undefined reference to `PB_CallFunction14'
collect2: ld returned 1 exit status
Error: Linker
On the German Board no body could help :(

Here is the source of the Include(it`s very large): http://fighter125.fi.funpic.de/fmod.htm

I went to the FMOD Forum and searched for "undefined reference" and there were 10 users, who had that Problem (with different "to `*'" ). The problem was caused by gcc they used g++ and all was ok.

But PB is using GCC...

How can I solve this Problem?
plz help

Sorry for my bad English. :(


125

Posted: Tue Mar 29, 2005 12:26 am
by 125
Ok got the Error PB CallFunction can't use Functions with more than 11 Parameters..
Then you'll get a Linker Error....

Is that the Final Status of CallFunction or will that be fixed? :(

Posted: Tue Mar 29, 2005 2:44 am
by Inner
have to ask what function requires greater than 14 arguments? that show extreme poor craftmanship!, not that this is your fault.

Posted: Tue Mar 29, 2005 11:11 am
by 125

Code: Select all

FSOUND_FX_SetI3DL2Reverb(fxid.l, Room.l, RoomHF.l, RoomRolloffFactor.f, DecayTime.f, DecayHFRatio.f, Reflections.l, ReflectionsDelay.f, Reverb.l, ReverbDelay.f, Diffusion.f, Density.f, HFReference.f)
13 Parameters. :roll:

Posted: Tue Mar 29, 2005 12:52 pm
by Inner
that is absolutely abominable, the guy should be shoot!, if it was openwindow I could understand, but that is just pithetic!.

if you where making a pb lib for it instead of doing it the callfunctionfast way thing, you could just pass a structure to it. :/

Regards.

Posted: Tue Mar 29, 2005 2:28 pm
by Rings
what wrong with pushing some vars on the stack ?

The main problem is that the 'Library' library und linux did not work as the 'Library' library under windows.
The CallFunction is only available for shorter Api-Calls ;)
You got a Light version of purebasic perhaps ? ;)

Posted: Tue Mar 29, 2005 8:37 pm
by 125
Rings wrote: You got a Light version of purebasic perhaps ? ;)
What do you mean with light version? If you mean Demo: No I'm using the Full Version. And the PB Library funktions aren`t working well with more than 11 Parameters under Linux. You'll get a linker error if you want to use 12 Params....That's the Problem... I took the Func out of the wrapper now it's compiling...

Posted: Tue Mar 29, 2005 8:55 pm
by thefool
Wich pb version are you using?

Posted: Tue Mar 29, 2005 8:57 pm
by 125
3.92 Linux.
CallFunction will cause a LinkerError with more than 11 Params.

Posted: Tue Mar 29, 2005 11:59 pm
by Inner
Rings: nothing wrong with pushing stuff on the stack, none at all.. but function paramitors that have that many shows poor workmanship in my book.

125: post the bug in the bugs section is my advise, I'll mention it to Fred if he doesn't already know.

Posted: Wed Mar 30, 2005 12:40 pm
by Num3
Eheheh...

This is why I always make a structure when i need to pass a lot of parameters into my own DLLs