[
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]