You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by Danushka Menikkumbura <da...@wso2.com> on 2009/01/27 04:11:43 UTC

C++ - Dynamic Link Libraries

Hi Devs,

I need to compile C++ libraries as DLLs and there is quite a bit of work 
in exporting symbols. Can I assume no one is working on this already?.

I will start with exporting mandatory symbols. Is it useful to export 
each and every symbol?

Thought please.

Danushka

-- 
Danushka Menikkumbura
Technical Lead, WSO2 Inc.

blog : http://danushka-menikkumbura.blogspot.com/

http://wso2.com/ - "The Open Source SOA Company"



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


Re: C++ - Dynamic Link Libraries

Posted by Danushka Menikkumbura <da...@wso2.com>.
> I would also recommend defining the exports in source (as the Boost libraries do), rather than using a module-definition file.
>   
Hi Cliff,

Yes. I am going to have specs in source files to export symbols. On the 
other hand I don't think the def file approach is widely used.

Danushka

-- 
Danushka Menikkumbura
Technical Lead, WSO2 Inc.

blog : http://danushka-menikkumbura.blogspot.com/

http://wso2.com/ - "The Open Source SOA Company"



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


RE: C++ - Dynamic Link Libraries

Posted by "Cliff Jansen (Interop Systems Inc)" <v-...@microsoft.com>.
Hi Danushka,

That was another subject I was going to broach for M5, probably on the heels of the C++ build system.

I would suggest to export the needed symbols rather than all of them if possible.  I would also recommend defining the exports in source (as the Boost libraries do), rather than using a module-definition file.

Regards,

Cliff

-----Original Message-----
From: Danushka Menikkumbura [mailto:danushka@wso2.com] 
Sent: Monday, January 26, 2009 7:12 PM
To: dev@qpid.apache.org
Subject: C++ - Dynamic Link Libraries

Hi Devs,

I need to compile C++ libraries as DLLs and there is quite a bit of work
in exporting symbols. Can I assume no one is working on this already?.

I will start with exporting mandatory symbols. Is it useful to export
each and every symbol?

Thought please.

Danushka

--
Danushka Menikkumbura
Technical Lead, WSO2 Inc.

blog : http://danushka-menikkumbura.blogspot.com/

http://wso2.com/ - "The Open Source SOA Company"



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


RE: C++ - Dynamic Link Libraries

Posted by Steve Huston <sh...@riverace.com>.
Hi Danushka,

> I need to compile C++ libraries as DLLs and there is quite a 
> bit of work 
> in exporting symbols. Can I assume no one is working on this
already?.

Right - I took a pass at this last summer during Windows Port V1,
which was subsequently scrapped. The changes I had at that point added
exports to the common lib, but not client. The diffs and new files are
attached to QPID-1105 https://issues.apache.org/jira/browse/QPID-1105

> I will start with exporting mandatory symbols. Is it useful to
export 
> each and every symbol?

No - but the classes intended for users in both client and common need
to done, as well as a bunch that are generated from xml files, so
there's both C++ and ruby (and/or python, I don't remember...) to work
on.

Note that although Linux builds a shared lib for the broker, the
Windows build does not - it builds everything into the exe. This has
made the unit tests far more difficult since the unit tests link the
shared lib on Linux. Thus, it may be worth switching the broker build
on Windows to the same model to make testing easier. If so, that would
need exports also.

-Steve


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org