Ubuntu 12x64用にコンパイルされたLinuxMint 16x64で実行可能ファイルを実行しようとしています。実行可能ファイルは、実行時にQt5.1.1を動的に使用します。エラーが発生します:
loaded the dummy plugin
loaded the Linux plugin
updating server status
./executableName: symbol lookup error: ./executableName: undefined symbol: _ZN18QXmlDefaultHandlerC2Ev
走ると
ldd executableName | grep "not found"
欠落している依存関係を検索しても結果が得られません。すべての動的依存関係が見つかったようですが、上記の未定義のシンボルエラーが引き続き発生します。
考え?
クイックヘルプ:
$ echo _ZN18QXmlDefaultHandlerC2Ev|c++filt
QXmlDefaultHandler::QXmlDefaultHandler()
したがって、QXmlDefaultHandler
のコンストラクターはありません。ここで見つけることができるのは、少なくともQt-4.8とQt-5.3にこのライブラリが含まれていることです。
実際に実行されているQtライブラリと、実行可能ファイルがコンパイルされたライブラリとの間には、ある種の非互換性があると思います。私の提案は、その実行可能ファイルをソースから再コンパイルすることでしたしかしあなたのミントで。
Ubuntuからソースパッケージを移植するのが少し難しいことは不可能ではありません。この場合、単純なアップストリームソースの再コンパイル(またはバイナリダウンロードがある場合)をお勧めします。
そのようなMintでUbuntuバイナリを実行することはできません。バイナリは通常、ディストリビューション間でバイナリ互換ではありません。ミントビルドを見つけることができますか?そうでない場合は、自分で作成する必要があります。