0

Zeroc ICE デモ プログラムをコンパイルしようとしています。

リンク時に複数のundefined referenceエラーが発生します。

/Clock.cpp:71: undefined reference to IceInternal::Outgoing::Outgoing(IceProxy::Ice::Object*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Ice::OperationMode, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const*)'

問題を診断するために次のことを試しました。

g++ コマンドで lib 参照の順序を変更します (source cpp then -l):

g++ -std=c++11 Clock.cpp -lpthread -lIce -lIceUtil  -lIceStorm

しかし、助けはありません。

さらに、参照された lib ファイルに報告されたシンボルが含まれているかどうかを確認しようとしました。私は見に走っobjdump -TC libIce.soた:

00000000001f53d0 g    DF .text  000000000000141c  Base        IceInternal::Outgoing::Outgoing(IceProxy::Ice::Object*, std::string const&, Ice::OperationMode, std::map<std::string, std::string, std::less<std::string>, std::allocator<std::pair<std::string const, std::string> > > const*)

g++(GCC) 6.2.0 を使用しています。

誰でも助けてください。

4

0 に答える 0