osx - OS X 10.6SDK compatible with 10.5 leopard system __ZNKSt13bad_exception4whatEV -
my project compiled 10.6sdk , selected 10.5 deployment target. when run binary in 10.5 leopard system gives me
symbol not found: __znkst13bad_exception4whatev
referenced from: ...... expected in: /usr/lib/libstdc++.6.dylib
sometimes ago got same problem , closed use boost header make solution temporary solution. why happen? if symbol not in 10.5 system, why compiles without problem?
i can't find library call symbol (probably boost where?)
edit:
i found guilty. thread.o compiled file call __znkst13bad_exception4whatev symbol. had updated boost library 1.46 1.53. before had same problem , had changed:
#include <boost/thread.hpp> to
#include <boost/thread/thread.hpp> and problem gone. when updated boost 1.53, calling again.
i compiled boost macports or b2.
otool -l bin.v2/libs/thread/build/darwin-4.2.1/release/address-model-32_64/macosx-version-min-10.4/macosx-version-10.8/threading-multi/libboost_thread.dylib bin.v2/libs/thread/build/darwin-4.2.1/release/address-model-32_64/macosx-version-min-10.4/macosx-version-10.8/threading-multi/libboost_thread.dylib: libboost_thread.dylib (compatibility version 0.0.0, current version 0.0.0) libboost_system.dylib (compatibility version 0.0.0, current version 0.0.0) /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 56.0.0) /usr/lib/libsystem.b.dylib (compatibility version 1.0.0, current version 169.3.0) i still see /usr/lib/libstdc++.6.dylib. means doesn't compatible 10.5.
i looked solution static link libstdc++ cound't find it.
i still looking solution it.
edit2:
i think give up. don't have more time ridiculous situation. don't understand why apple don't supply updated libstdc++ 10.5 leopard system. there many problem libstdc++ in 10.5.
the main question why xcode did not tell me binary not compatible 10.5 system?
windows more backward compatibility. now, can compile xp sp3.
i use staticaly link in windows in apple imposible.
at moment have learnt if want use c++11 features, have compile 10.7 system. not 10.6 system too. in professional audio many people use still 10.6 system. have wait use c++11 because of apple's non static link situation or aplle's backward compatibility approach.
yes, little bit angry!
Comments
Post a Comment