[ 
https://issues.apache.org/jira/browse/QPID-2391?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12857302#action_12857302
 ] 

Andrew Stitcher commented on QPID-2391:
---------------------------------------

The way these plugins are designed they effectively have to be either linked in 
statically with the application that uses them or they have to be statically 
linked into a shared object that dynamically loads them. They export no symbols 
that could be required for a static library type link.

This is so that the same code could be either linked into the app itself or 
into a loaded shared object/dll.

A possible fix to this problem would be to link the protocol directly into the 
app rather than into a library that the app depends on.

> Use of global static intializers in code creates problems for a correct 
> Windows static build
> --------------------------------------------------------------------------------------------
>
>                 Key: QPID-2391
>                 URL: https://issues.apache.org/jira/browse/QPID-2391
>             Project: Qpid
>          Issue Type: Improvement
>          Components: C++ Client
>         Environment: Windows XP SP3
> Visual C++ 9.0
>            Reporter: Pete MacKinnon
>
> The use of global static intilaizers like the StaticInit struct in:
>  qpid\cpp\src\qpid\client\windows\TCPConnector.cpp
>  qpid\cpp\src\qpid\client\windows\SslConnector.cpp
> won't work at runtime in a static compile/link of qpidc. The transport 
> factory registrations won't happen since the linker will strip out these 
> unreferenced symbols. Not a problem in the DLL model. There are few options 
> for addressing this in the linker command line (e.g., /INCLUDE:<mangled name 
> of symbol>), in the devenv ("Link Library Dependencies", "Use Library 
> Dependency Inputs"), or writing function wrappers to force load - none of 
> which seem very useful.
> There may be more instances of this pattern in the code elsewhere.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to