私はYoctoを使ってQtツールチェーンを構築しました。私はそれをインストールし、Yoctoによって生成されたスクリプトを実行する環境変数を設定しました。QtCreatorでクロスコンパイルツールチェーンを設定するにはどうすればよいですか?
instructionsに続いてQtCreatorとconfigure my cross-compiler kitを開きます。 私はこれを構築することができないよ:
#include <QApplication>
#include <QPushButton>
int main(int argc, char **argv)
{
QApplication a(argc, argv);
QPushButton hello("Hello world!", 0);
hello.resize(100, 30);
hello.show();
return a.exec();
}
はこのエラーを取得:
(.qtversion[qt_version_tag]+0x0):-1: error: undefined reference to `qt_version_tag'
だから私の代わりにこれを構築しよう:
#include <stdio.h>
int main()
{
printf("Hello world!\n");
return 0;
}
それは大丈夫です。しかし、ターゲットにデプロイして実行しようとすると、ターゲット・アーキテクチャー(アーム)用にコンパイルされていないため、実行できません。
helloworld: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ldd
非常に示すことができ、この警告もあります:
:-1: warning: "/usr/bin/gcc" is used by qmake, but "/opt/poky/2.1.1/sysroots/i686-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-gcc" is configured in the kit.
Please update your kit or choose a mkspec for qmake that matches your target environment better.
は、私は私のキットの構成にmkspec設定しようとしたが、結果はそれは同じです。
私はqmakeを使ってコマンドラインからコンパイルしようとしましたが、それは正しいことでした。 Qtクリエーターの設定に問題があります。 – anat0lius
qmakeを手動で実行すると、キットに間違ったqmakeが設定されている可能性があります –
プロジェクトの設定>ビルド>システム環境を開いた場合、setup-enviornmentスクリプトで設定した変数があります。だから私はそれが動作しない理由を理解していない。 – anat0lius