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-subscr...@qpid.apache.org