Re: [SQL] g++ not working for postgresql extension languages? - Mailing list pgsql-interfaces

From Stephen Jackson
Subject Re: [SQL] g++ not working for postgresql extension languages?
Date
Msg-id 3AD9C7F5.902BAE74@panting-deer.org.uk
Whole thread Raw
In response to g++ not working for postgresql extension languages?  (Lonnie Cumberland <lonnie_cumberland@yahoo.com>)
Responses Re: Re: [SQL] g++ not working for postgresql extension languages?  (Lonnie Cumberland <lonnie_cumberland@yahoo.com>)
List pgsql-interfaces
Lonnie,                
C++ uses "name mangling" to permit overloading of functions. Therefore
your function concat_text() ends up with a very different name. You can
probably get round this as follows:

#ifdef __cplusplus
extern "C" {
#endif
text *
concat_text(text *arg1, text *arg2);
#ifdef __cplusplus
}
#endif

This tells the C++ compiler that concat_text is a "C" name - so don't do
name mangling. This is a common technique for making C++ code callable
from C, although I haven't used it in the specific context you are
using.

Hope this helps,

Stephen Jackson
Home: Stephen.Jackson@panting-deer.org.uk  www.panting-deer.org.uk
Work: Stephen.Jackson@looksystems.co.uk    www.looksystems.co.uk

Lonnie Cumberland wrote:
> 
> Hi All again,
> 
> One more thing that I have tried.
> 
> If I now do a similar thing as in my previous message with the "funcs.c" file,
> but this time with the "funcs.cc" file then I can get:
> 

[snip]

> 
> trdata=# select concat_text('a','b');
> ERROR:  Can't find function concat_text in file /test/funcs.so
> trdata=#
> --------------------------------------------------------------------------
> 

[snip]

> 
> text *
> concat_text(text *arg1, text *arg2);
> 

[snip]

> so now I do not understand why the "gcc" version works and the "g++" version
> does not?
> 
> Just a side note in that I can easliy compile c++ the examples in the
> interfaces/libpq++ directory without any problems so that this is very strange
> to me.
> 
> I really need the "g++" version to work correctly as well?
> 
> Any ideas anyone?
> 
> Cheers
> Lonnie
>


pgsql-interfaces by date:

Previous
From: "N@ta$"
Date:
Subject: DBD and DBI::Pg
Next
From: Lonnie Cumberland
Date:
Subject: Re: Re: [SQL] g++ not working for postgresql extension languages?