On Apr 16, 2006, at 10:06 PM, smack supersonic wrote: I have noticed that when building with XCode and/or directly via command line the following two dylib's are linked with my binary:
/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.4.0) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
Although everything works just fine, i am little bit worried that two almost identical dll's are used!?
So my question is:
Is there a way to force either of this dll's to be mutualy exclusive?
Shouldnt this cause problems if in more complex example (host with plug-in components) is dynamically loading plug-in modules that may use either of these libraries?
Have you looked at the two libraries you name? They are very, very far from "almost identical dll's". In fact, they don't export a single symbol in common.
libgcc_s.1.dylib is the gcc C support library, with C intrinsics like fixed and floating point arithmetic, plus stack frame management.
libstdc++.6.dylib is the C++ Standard Library, with iostream, char_traits, locale, collate, dynamic_cast, etc. It's not even used for straight C programs, and is absolutely required for C++.
So to your point: They are mutually exclusive. They are not remotely identical. It will not cause problems to use them both. Plugin modules that use either are OK in an app that uses both.
Chris |