From ce28b4d772511dbd059b03b06fae75438faa3529 Mon Sep 17 00:00:00 2001 From: Gilles Depeyrot Date: Sun, 25 Nov 2001 21:52:58 +0000 Subject: [PATCH] added dynamic shared library (dylib) initialization routine for Darwin git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12699 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/common/object.cpp | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/common/object.cpp b/src/common/object.cpp index a444c031ee..66d78f24b5 100644 --- a/src/common/object.cpp +++ b/src/common/object.cpp @@ -407,3 +407,26 @@ wxObjectRefData::wxObjectRefData(void) : m_count(1) wxObjectRefData::~wxObjectRefData() { } + +#if defined(__DARWIN__) && defined(DYLIB_INIT) + +extern "C" { + void __initialize_Cplusplus(void); + void wxWindowsDylibInit(void); +}; + +// Dynamic shared library (dylib) initialization routine +// required to initialize static C++ objects bacause of lazy dynamic linking +// http://developer.apple.com/techpubs/macosx/Essentials/ +// SystemOverview/Frameworks/Dynamic_Shared_Libraries.html +// +void wxWindowsDylibInit() +{ + // The function __initialize_Cplusplus() must be called from the shared + // library initialization routine to cause the static C++ objects in + // the library to be initialized (reference number 2441683). + + __initialize_Cplusplus(); +} + +#endif -- 2.45.2