RaspberryPi用にQt5.0.1(現時点では最新リリース)をクロスコンパイルしようとしています。私の設定は次のとおりです。
オペレーティングシステム:Ubuntu12.0432ビット
クロスコンパイラ:crosstool-NGプログラムから構築され、ここにある正確な手順を使用します
Raspberry Piオペレーティングシステム:Raspbian Wheezy 2013-02-09(/ mnt / raspberry-pi-rootfsにマウント)
コマンドの構成:
./configure -no-pch -opengl es2 -device linux-rasp-pi-g++ -device-option CROSS_COMPILE=/home/<myusername>/x-tools/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi- -sysroot /mnt/raspberry-pi-rootfs -opensource -confirm-license -optimized-qmake -reduce-exports -release -make libs -prefix /usr/local/qt5-raspberry-pi -v
configureコマンドを実行すると、常に次のエラーで失敗します。
Could not determine the target architecture!
/mnt/raspberry-pi-rootfs/usr/include/features.h:323:26: fatal error: bits/predefs.h: No such file or directory
誰もがこれが何を意味するのか知っていますか?
私はここから最新のビルド済みのLinaroToolchainクロスコンパイラを試しましたが、Qtは少なくともビルドしますが、それを使用してコンパイルされたプログラムは、プログラムが実行されるとすぐにSIGILL(不正な命令)エラーを引き起こします。私が使用した構築されたクロスコンパイラは、適切なアーキテクチャを対象としていません。
ノート:
クロスコンパイルは非常に難しいことは承知していますが、何が起こっているのかをもっと理解したいと思います