Ich versuche so zu statische Versionen der POCO C++ Libs zu verknüpfen:poco C++ statische Linken Probleme mit undefinierten Verweise auf Symbole
g++ BCCMain.o -L$_POCO_LIBS -Wl,-Bstatic $_POCO_LIBS/libPocoFoundation.a $_POCO_LIBS/libPocoUtil.a $_POCO_LIBS/libPocoXML.a $_POCO_LIBS/libPocoJSON.a -Wl,-Bdynamic -o BCMain
Unfortunatelly dies gibt Fehler über einige undefinierte Verweise auf Symbole wie:
Poco::Logger::get(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
obwohl Poco::Logger::get(std::string const&)
tatsächlich in libPocoFoundation.a
definiert ist.
Nun, wenn ich versuche, auf eine gemeinsam genutzte Version der Stiftung zu verknüpfen lib es funktioniert:
g++ BCCMain.o -L$_POCO_LIBS -Wl,-Bstatic $_POCO_LIBS/libPocoFoundation.a $_POCO_LIBS/libPocoUtil.a $_POCO_LIBS/libPocoXML.a $_POCO_LIBS/libPocoJSON.a -Wl,-Bdynamic -lPocoFoundation -o BCMain
Static und Shared-Versionen der Bibliotheken haben die gleichen Symbole, so finde ich es schwer zu verstehen, was ich bin falsch machen.
Ubuntu/Linaro. g ++ 4.6.3
ich auch POCO_STATIC definiert beim Kompilieren. Hat nicht geholfen. – gregee123