FMOD Include

Linux specific forum
125
User
User
Posts: 15
Joined: Mon Mar 28, 2005 10:12 pm
Contact:

FMOD Include

Post 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
125
User
User
Posts: 15
Joined: Mon Mar 28, 2005 10:12 pm
Contact:

Post 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? :(
User avatar
Inner
PureBasic Expert
PureBasic Expert
Posts: 714
Joined: Fri Apr 25, 2003 4:47 pm
Location: New Zealand

Post by Inner »

have to ask what function requires greater than 14 arguments? that show extreme poor craftmanship!, not that this is your fault.
125
User
User
Posts: 15
Joined: Mon Mar 28, 2005 10:12 pm
Contact:

Post 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:
User avatar
Inner
PureBasic Expert
PureBasic Expert
Posts: 714
Joined: Fri Apr 25, 2003 4:47 pm
Location: New Zealand

Post 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.
User avatar
Rings
Moderator
Moderator
Posts: 1435
Joined: Sat Apr 26, 2003 1:11 am

Post 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 ? ;)
SPAMINATOR NR.1
125
User
User
Posts: 15
Joined: Mon Mar 28, 2005 10:12 pm
Contact:

Post 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...
thefool
Always Here
Always Here
Posts: 5875
Joined: Sat Aug 30, 2003 5:58 pm
Location: Denmark

Post by thefool »

Wich pb version are you using?
125
User
User
Posts: 15
Joined: Mon Mar 28, 2005 10:12 pm
Contact:

Post by 125 »

3.92 Linux.
CallFunction will cause a LinkerError with more than 11 Params.
User avatar
Inner
PureBasic Expert
PureBasic Expert
Posts: 714
Joined: Fri Apr 25, 2003 4:47 pm
Location: New Zealand

Post 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.
Num3
PureBasic Expert
PureBasic Expert
Posts: 2812
Joined: Fri Apr 25, 2003 4:51 pm
Location: Portugal, Lisbon
Contact:

Post by Num3 »

Eheheh...

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