Я пытаюсь сделать ссылку на статические версии LIBS РоКо C++, как это:POCO C++ статических задач соединяющихся с неопределенными ссылками на символы
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 это дает ошибку о некоторых неопределенных ссылках на символы, как:
Poco::Logger::get(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
хотя Poco::Logger::get(std::string const&)
фактически определено в libPocoFoundation.a
.
Теперь, если я пытаюсь связать с общей версией фундамента Lib это работает:
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
Статические и общие версии LIBS имеют одни и те же символы, поэтому я считаю, что это трудно понять, что я делать неправильно.
Ubuntu/Linaro. g ++ 4.6.3
Я также определил POCO_STATIC во время компиляции. Не помогло. – gregee123