mac os x 10.12 (Sierra) と qt 5.8 for ARM (rasprerry pi) を使用してクロス コンパイルを管理しました。ただし、問題が発生しなければ簡単すぎます。非常に単純なアプリを作成し、qt クリエーターからリモートで実行するように環境を構成しますが、実行しようとするとエラーが発生します。
Cannot load library /usr/local/qt5pi/plugins/platforms/libqeglfs.so: (This platform does not support dynamic libraries.)
QLibraryPrivate::loadPlugin failed on "/usr/local/qt5pi/plugins/platforms/libqeglfs.so" : "Cannot load library /usr/local/qt5pi/plugins/platforms/libqeglfs.so: (This platform does not support dynamic libraries.)"
This application failed to start because it could not find or load the Qt platform plugin "eglfs"
in "".
Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc.
Reinstalling the application may fix this problem.
Aborted
プラグインが適切にロードされているようです:
QT_DEBUG_PLUGINS=1 ./testrpi
QFactoryLoader::QFactoryLoader() checking directory path "/usr/local/qt5pi/plugins/platforms" ...
QFactoryLoader::QFactoryLoader() looking at "/usr/local/qt5pi/plugins/platforms/libqeglfs.so"
Found metadata in lib /usr/local/qt5pi/plugins/platforms/libqeglfs.so, metadata=
{
"IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
"MetaData": {
"Keys": [
"eglfs"
]
},
"className": "QEglFSIntegrationPlugin",
"debug": false,
"version": 329728
}
しかし、私はこの行がすべてを説明していると思います:
QLibraryPrivate::loadPlugin failed on "/usr/local/qt5pi/plugins/platforms/libqeglfs.so" : "Cannot load library /usr/local/qt5pi/plugins/platforms/libqeglfs.so: (This platform does not support dynamic libraries.)"
そして今私の質問は - 「このプラットフォームは動的ライブラリをサポートしていません」とはどういう意味ですか. アプリを機能させるにはどうすればよいですか?
ldd はすべてのライブラリが存在することを示しますが、strace は否定的な結果で開いていることを示しません。私は立ち往生しているので、助けていただければ幸いです!