Subject Re: UDF with ANSI C++
Author markusschmidkade
Thomas,

"Thomas Steinmaurer" <ts@...> schrieb im Newsbeitrag
news:3e65eb20@......
> Markus,
>
> - What InterBase version are you using?
Firebird 1.0

> - How was the UDF declared in your database?
DECLARE EXTERNAL FUNCTION StrTrim
CSTRING(255)
RETURNS CSTRING(255)
ENTRY_POINT 'strtrim' MODULE_NAME 'eq_UDF';

> - Be aware that library names and entry points are case-sensitive
I am! I have changed the cases several times without success. I also
checked
the case of the entrypoint with "nm" under linux and it had the
correct
case.

Regards,
Markus
> "Markus Schmid" <M@...> schrieb im Newsbeitrag
news:3e65e9df$1@......
> > Hi,
> > I have written a UDF in C++ and it works very well under Win32.
When I
build
> > a Linux version and try to use it whenever I access a UDF with
IBExpert
I
> > get the following error
> > "Invalid token, invalid request BLR at offset 63. function XXX
is not
> > defined. module name or entrypoint could not be found."
> > I have tried all kind of upper/lowercase combinations without
success.
After
> > extensive search on the web I couldn't find any UDF already
written in
C++.
> > Rfunc2 for example claims to be in C++ but is only C.
> > I guess there is something different with Linux shared library
and so
the
> > database server cannot find the entry points. Since it works
under Win32
I
> > made everything correct with the entry points and class
initialization...
> > Is there anyone out there who had any success in building a C++
UDF in
> > Linux?
> > Thanks in advance!
> > Markus