Hi list,
I'm planning to write a tilde object and tried to compile the dspobj~ example included with pd. I do not have VC 6.0 but use Borland C++ Builder 3.0 instead (running Win98). I managed to get it compiled but pd displays the following error message when I try to use it:
load_object: Symbol "dspobj_tilde_setup" not found dspobj~ ... couldn't create
Is this due to the 'wrong' compiler (Borland instead of Microsoft) or are there any settings in C++ Builder I have to change? Would it work if I recompile pd with my compiler?
...any help how to get started is very appreciated!
Olaf
well, before suspecting the compiler, there are two "common sense" reasons for this error :
a/ is the compiled extern found by Pd?? ( there should be a -path option to the location of the extern )
b/ is the dspobj_tilde_setup exported in the extern ?? it happened to me when you build your extern as a pd built-in object, this function should not be declared static.
If you meet these requirements, maybe it's a compiler problem.
Yves/
----- Original Message ----- From: "Olaf Matthes" olaf.matthes@gmx.de To: "pd-list" pd-list@iem.kug.ac.at Sent: Sunday, November 18, 2001 2:28 PM Subject: [PD] compiling objects
Hi list,
I'm planning to write a tilde object and tried to compile the dspobj~ example included with pd. I do not have VC 6.0 but use Borland C++ Builder 3.0 instead (running Win98). I managed to get it compiled but pd displays the following error message when I try to use it:
load_object: Symbol "dspobj_tilde_setup" not found dspobj~ ... couldn't create
Is this due to the 'wrong' compiler (Borland instead of Microsoft) or are there any settings in C++ Builder I have to change? Would it work if I recompile pd with my compiler?
...any help how to get started is very appreciated!
Olaf
Hi Yves,
it seems to me that I meet the requirements. Pd opens the dspobj~.dll (i.e. trying to delete it results in an 'file in use' error) and my dspobj_tilde_setup is not static. I just took the example included with pd - no additional changes, just a new makefile for my compiler.
In Alex Burton's paper about writing externals I found something about VC5.0 vs. VC6.0 incompatibility, that's why I guess it could be the compiler. But recompiling pd with my compiler would then result in an 'alien' pd which would not be able to open 'usual' externals...
Olaf
Yves Degoyon schrieb:
well, before suspecting the compiler, there are two "common sense" reasons for this error :
a/ is the compiled extern found by Pd?? ( there should be a -path option to the location of the extern )
b/ is the dspobj_tilde_setup exported in the extern ?? it happened to me when you build your extern as a pd built-in object, this function should not be declared static.
If you meet these requirements, maybe it's a compiler problem.
Yves/
I think it's Yves's second suggestion, that Borland hasn't been told to export the symbol dspobj_tilde_setup ... I don't know how you do this but there must be a way.
cheers Miller
On Sun, Nov 18, 2001 at 05:07:38PM +0100, Olaf Matthes wrote:
Hi Yves,
it seems to me that I meet the requirements. Pd opens the dspobj~.dll (i.e. trying to delete it results in an 'file in use' error) and my dspobj_tilde_setup is not static. I just took the example included with pd - no additional changes, just a new makefile for my compiler.
In Alex Burton's paper about writing externals I found something about VC5.0 vs. VC6.0 incompatibility, that's why I guess it could be the compiler. But recompiling pd with my compiler would then result in an 'alien' pd which would not be able to open 'usual' externals...
Olaf
Yves Degoyon schrieb:
well, before suspecting the compiler, there are two "common sense" reasons for this error :
a/ is the compiled extern found by Pd?? ( there should be a -path option to the location of the extern )
b/ is the dspobj_tilde_setup exported in the extern ?? it happened to me when you build your extern as a pd built-in object, this function should not be declared static.
If you meet these requirements, maybe it's a compiler problem.
Yves/
Hi Miller, hi all,
you and Yves seem to be right! I defined the export for dspobj_tilde_setup in the makefile but the linker seems to ignore it (but does not show any warnings concerning wrong flags). When I use "void _export dspobj_tilde_setup(void)" (the Borland way of doing it) I get a bunch off 8 errors like:
[Linker Error] Undefined symbol _dsp_add referenced from C:....\DSPOBJ~.OBJ.
Is there anybody out there who has used C++ Builder before? I really need this working!!!
Thanks
Olaf
Miller Puckette schrieb:
I think it's Yves's second suggestion, that Borland hasn't been told to export the symbol dspobj_tilde_setup ... I don't know how you do this but there must be a way.
cheers Miller
On Sun, Nov 18, 2001 at 05:07:38PM +0100, Olaf Matthes wrote:
Hi Yves,
it seems to me that I meet the requirements. Pd opens the dspobj~.dll (i.e. trying to delete it results in an 'file in use' error) and my dspobj_tilde_setup is not static. I just took the example included with pd - no additional changes, just a new makefile for my compiler.
In Alex Burton's paper about writing externals I found something about VC5.0 vs. VC6.0 incompatibility, that's why I guess it could be the compiler. But recompiling pd with my compiler would then result in an 'alien' pd which would not be able to open 'usual' externals...
Olaf
Yves Degoyon schrieb:
well, before suspecting the compiler, there are two "common sense" reasons for this error :
a/ is the compiled extern found by Pd?? ( there should be a -path option to the location of the extern )
b/ is the dspobj_tilde_setup exported in the extern ?? it happened to me when you build your extern as a pd built-in object, this function should not be declared static.
If you meet these requirements, maybe it's a compiler problem.
Yves/