Hello,

I'm starting a project where a C++ library would have to
instantiate a pesistent Perl interpreter.

I found an error that's easily reproductible by trying the
example "Persistent Interpreter" from perldoc perlembed, but
compiling it with g++ intead of gcc. The error is as follows:

In file included from /usr/include/math.h:109,
 from
/usr/local/lib/perl5/5.8.3/i686-linux-thread-multi-64int-ld/CORE/perl.h:2839,
 from persistent.c:3:
/usr/local/lib/perl5/5.8.3/i686-linux-thread-multi-64int-ld/CORE/perl.h:1330:
previous declaration of `long double modfl(long double, long
double*)' with C++ linkage
/usr/include/bits/mathcalls.h:116:
conflicts with new declaration with C linkage
/usr/include/bits/mathcalls.h:116:
declaration of `long double modfl(long double, long double*)
throw ()' throws different exceptions 
/usr/local/lib/perl5/5.8.3/i686-linux-thread-multi-64int-ld/CORE/perl.h:1330:
than previous declaration `long double modfl(long double, long
double*)'


It seems like an absent "extern C" on perl.h, but I'm sure
that's some more obvious thing I'm missing.

Any ideas?


Silvio

Reply via email to