qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Pete MacKinnon (JIRA)" <qpid-...@incubator.apache.org>
Subject [jira] Created: (QPID-2391) Use of global static intializers in code creates problems for a correct Windows static build
Date Fri, 05 Feb 2010 15:21:30 GMT
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.
-
You can reply to this email to add a comment to the issue online.


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


Mime
View raw message