在gcc中使用ssl静态编译poco时出错

时间:2016-08-08 06:55:12

标签: linux gcc static-libraries poco-libraries

我在usr / local / lib中拥有所有.a文件。此外,我已从文件夹中删除所有.so库,以确保它静态编译。我正在使用此命令编译它 -

g++ HttpAPICall.cpp  ... main.cpp -Bstatic -L/usr/local/lib/ -lPocoUtil -lPocoXML -lcrypto -lssl \
-lPocoCrypto -lgumbo -lPocoNet -lPocoJSON -lPocoNetSSL -lPocoFoundation -luuid -std=gnu++11 -o analyzer

我收到以下错误 -

/usr/local/lib//libPocoNetSSL.a(SSLManager.o): In function `Poco::Net::SSLManager::appConfig()':
SSLManager.cpp:(.text+0x383): undefined reference to `Poco::Util::Application::_pInstance'
SSLManager.cpp:(.text+0x3b5): undefined reference to `Poco::Util::Application::_pInstance'
/usr/local/lib//libPocoNetSSL.a(SSLManager.o): In function `Poco::Net::SSLManager::initPassphraseHandler(bool)':
SSLManager.cpp:(.text+0xd58): undefined reference to `Poco::Util::AbstractConfiguration::getString(std::string const&, std::string const&) const'
SSLManager.cpp:(.text+0xdd6): undefined reference to `Poco::Util::UnknownOptionException::UnknownOptionException(std::string const&, int)'
SSLManager.cpp:(.text+0xe01): undefined reference to `Poco::Util::UnknownOptionException::~UnknownOptionException()'
SSLManager.cpp:(.text+0xe06): undefined reference to `typeinfo for Poco::Util::UnknownOptionException'
/usr/local/lib//libPocoNetSSL.a(SSLManager.o): In function `Poco::Net::SSLManager::initCertificateHandler(bool)':
SSLManager.cpp:(.text+0x15a8): undefined reference to `Poco::Util::AbstractConfiguration::getString(std::string const&, std::string const&) const'

我已经读到订单或汇编在这种情况下很重要。我也试过-WL, - start-group --end-group。没有运气。使用mac静态库的相同代码很容易在xcode上编译。此外,通过使用动态库,代码也可以在linux上编译。请帮我在linux上进行静态编译。

0 个答案:

没有答案