私は現在、プロジェクトをコンパイルし、Linuxベースのシステムを展開する32ビットターゲットに移植しようとしています。Qtを64ビットからクロスコンパイルするLinux
私のホストマシンはx86_64 Debian Stretchを実行し、私のターゲットはカスタムLinuxを実行しているAtmel SAMA5d2です。 私のクロスツールチェーンはbuildrootから生成されます。
現時点では、ビルドルートツールで生成されたツールチェーンを使用してターゲットのアプリケーションをコンパイルすることができます。しかし、私はQtを統合してターゲットのQtアプリを構築したいと思っています。
ターゲットプラットフォーム用のアプリケーションをビルドするには、ターゲット用にQtをコンパイルする必要があります。 これを行うには、ネイティブのものの代わりにbuildrootツールチェーンを使用するようにQtに伝える必要があります。
私は、または-xplatform <mkspec>
を提供して、期待されるツールチェーンでQtを設定する必要があります。
明らかに私のターゲットはqtbase/mkspecs/devices
のデバイスリストにありませんので、私のターゲットのためのmkspecを作成することをお勧めします。私はちょっと失われていると私は唯一のドキュメントと私は私の問題をグーグルで見つかったからどのように行うのか分からないが
./configure -xplatform <my_mkspec> -embedded arm -prefix <customQtPath>
:
私のコマンドは次のようになります。
armv7が32ビットのみであるため、ターゲットを32ビットに指定する必要もありますか?
私はこれについていくつかの助けを喜んでいるでしょう。おかげさまで
ドキュメンテーションにあるように、デバイスは 'qtbase/mkspecs/devices'のリストになければならないと思っていました。_italic_Theデバイスはconfigureツールの-deviceパラメータで選択されています。この引数の後に続く名前は、少なくとも部分的にdevicesの下にあるサブディレクトリの1つと一致する必要があります._italic_ この場所に仕様を作成する必要がありますか?また、これらのqmake変数の意味と使用についてのドキュメントはどこにありますか? – Arkaik
はい、そこにあなたのものを置きます。 qmakeマニュアルがありますが、ほとんどは文書化されていません。他のチップのスペックと実験をお読みください。 –
ありがとう、私はそれを試し、私が成功したらあなたに伝えるために戻ってきますが、Qtをbuildrootに追加するための修正があるので、しばらく時間がかかります。 – Arkaik