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:[email protected]