Global Objects and the Secure Sockets Package Initialization
If your application uses global objects whose constructors require access to the Secure Sockets package, you must instantiate
RWSecureSocketPackageInit before you construct the other global objects.
If the global objects that call the Secure Sockets package functions in their constructors are in the same translation unit, put the instantiation of
RWSecureSocketPackageInit before all of the other definitions.
If these global objects are in different translation units, you have a problem called the “static initialization order fiasco” of C++. For more information, consult a C++ reference, such as C++ FAQs by Marshall Cline.