2017-03-06 8 views
1

私は、Yocto Krogoth上で動作するNitrogen6xボードをコアイメージサトウで構築しました。私はQt Creator 3.5.1(Qt 5.5.1ベース)をインストールしました。[Build & Install Qt5 toolchain]文書に従ってnitrogen6xボード用のキットを追加しました。 Qt Quick 2.1として選択されたコンポーネントセットを使用してサンプルQtクイックアプリケーションを追加し、ソースをコンパイルしようとしましたが、これは以下のエラーに気付いています。Yocto/Qt5.6:サンプルQtアプリケーションをビルドすることができません

19:04:25: Running steps for project untitled6... 
19:04:25: Starting: "/opt/poky/2.1.1/sysroots/i686-pokysdk-linux/usr/bin/qt5/qmake" /home/test/untitled6/untitled6.pro -r -spec linux-g++ 
19:04:25: The process "/opt/poky/2.1.1/sysroots/i686-pokysdk-linux/usr/bin/qt5/qmake" exited normally. 
19:04:25: Starting: "/usr/bin/make" 
g++ -c -pipe -O2 -std=gnu++0x -Wall -W -D_REENTRANT -fPIC -DQT_NO_DEBUG -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I../untitled6 -I. -isystem /opt/poky/2.1.1/sysroots/cortexa9hf-neon-poky-linux-gnueabi/usr/include/qt5 -isystem /opt/poky/2.1.1/sysroots/cortexa9hf-neon-poky-linux-gnueabi/usr/include/qt5/QtQuick -isystem /opt/poky/2.1.1/sysroots/cortexa9hf-neon-poky-linux-gnueabi/usr/include/qt5/QtGui -isystem /opt/poky/2.1.1/sysroots/cortexa9hf-neon-poky-linux-gnueabi/usr/include/qt5/QtQml -isystem /opt/poky/2.1.1/sysroots/cortexa9hf-neon-poky-linux-gnueabi/usr/include/qt5/QtNetwork -isystem /opt/poky/2.1.1/sysroots/cortexa9hf-neon-poky-linux-gnueabi/usr/include/qt5/QtCore -I. -I/opt/poky/2.1.1/sysroots/cortexa9hf-neon-poky-linux-gnueabi/usr/lib/qt5/mkspecs/linux-g++ -o main.o ../untitled6/main.cpp 
/opt/poky/2.1.1/sysroots/i686-pokysdk-linux/usr/bin/qt5/rcc -name qml ../untitled6/qml.qrc -o qrc_qml.cpp 
g++ -c -pipe -O2 -std=gnu++0x -Wall -W -D_REENTRANT -fPIC -DQT_NO_DEBUG -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I../untitled6 -I. -isystem /opt/poky/2.1.1/sysroots/cortexa9hf-neon-poky-linux-gnueabi/usr/include/qt5 -isystem /opt/poky/2.1.1/sysroots/cortexa9hf-neon-poky-linux-gnueabi/usr/include/qt5/QtQuick -isystem /opt/poky/2.1.1/sysroots/cortexa9hf-neon-poky-linux-gnueabi/usr/include/qt5/QtGui -isystem /opt/poky/2.1.1/sysroots/cortexa9hf-neon-poky-linux-gnueabi/usr/include/qt5/QtQml -isystem /opt/poky/2.1.1/sysroots/cortexa9hf-neon-poky-linux-gnueabi/usr/include/qt5/QtNetwork -isystem /opt/poky/2.1.1/sysroots/cortexa9hf-neon-poky-linux-gnueabi/usr/include/qt5/QtCore -I. -I/opt/poky/2.1.1/sysroots/cortexa9hf-neon-poky-linux-gnueabi/usr/lib/qt5/mkspecs/linux-g++ -o qrc_qml.o qrc_qml.cpp 
g++ -Wl,-O1 -o untitled6 main.o qrc_qml.o -lQt5Quick -lQt5Gui -lQt5Qml -lQt5Network -lQt5Core -lGLESv2 -lpthread 
/usr/bin/ld: cannot find -lQt5Quick 
/usr/bin/ld: cannot find -lQt5Gui 
/usr/bin/ld: cannot find -lQt5Qml 
/usr/bin/ld: cannot find -lQt5Network 
/usr/bin/ld: cannot find -lQt5Core 
/usr/bin/ld: cannot find -lGLESv2 
collect2: ld returned 1 exit status 
make: *** [untitled6] Error 1 
19:04:26: The process "/usr/bin/make" exited with code 2. 
Error while building/deploying project untitled6 (kit: Nitrogen) 
When executing step 'Make' 
19:04:26: Elapsed time: 00:01. 

すべてのQtライブラリは/sysroots/cortexa9hf-neon-poky-linux-gnueabi/usr/include/qt5/の下に存在していると私は私のキットで正しくSYSROOTパスを設定しているが、私は自分のアプリケーションがこれらのライブラリを参照するために失敗しているということである理由を把握することができません。これに関する助力は深く感謝しています。前もって感謝します。

答えて

1

mkspecがあなたのキットで指さはnitrogen6xのために構築する場合、それはおそらく代わりにlinux-oe-g++する必要がありますビルドログから

-I/opt/poky/2.1.1/sysroots/cortexa9hf-neon-poky-linux-gnueabi/usr/lib/qt5/mkspecs/linux-g++ 

を引用間違ったもの(linux-g++)、であるように見えます。これは、選択したQtバージョンではデフォルトで設定されるか、QtCreatorのオプションである "mkspec"でキット自体を変更することで設定できます。

あなたの見ているエラーはおそらく、ABI &のライブラリの指し示されたアーキテクチャが、コンパイルしたx86/64コードと互換性がないという事実のためです。

問題が発生した場合(つまり「C」が見つかりませんでした)、コンパイルエラーが発生した場合は、QtCreatorを起動する前にYoctoの環境ファイルを入手してください。クロスコンパイラへのパスを設定します。例:

source /opt/poky/1.6.2/environment-setup-cortexa9hf-vfp-neon-poky-linux-gnueabi 
~/Qt/Tools/QtCreator/bin/qtcreator 
+0

はい。私は 'Qt mkspec 'を' linux-oe-g ++ 'として私のキットに追加しようとしました。 'make:c:Command not found'というエラーに気付きました。 '〜/ Qt/Tools/QtCreator/bin/qtcreator.sh'スクリプトに'#/ Qt/Tools/QtCreator.sh'スクリプトに 'source/opt/poky/2.1.1/environment-setup-cortexa9hf-neon-poky-linux-gnueabi'を追加しようとしました。 !/ bin/sh'を実行し、 'sudo sh qtcreator.sh'を起動して構築しようとしました。どうもありがとうございました。 – user12345

+0

喜んでそれは助け:) –

関連する問題