qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew Stitcher (JIRA)" <qpid-...@incubator.apache.org>
Subject [jira] Commented: (QPID-2391) Use of global static intializers in code creates problems for a correct Windows static build
Date Thu, 15 Apr 2010 13:14:48 GMT

    [ 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
> --------------------------------------------------------------------------------------------
>                 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:dev-subscribe@qpid.apache.org

View raw message