2016-03-30 71 views
0

Qt Creator用に2つのバージョンのSDKがあります:オープンソースからコンパイルし、bitbakeからコンパイルしました。Qtエラー:c:コマンドが見つかりません/ qmakeがg ++コンパイラを見つけられませんでした

オープンソースSDKは正常に動作していますが、ビットビット1はコンパイラの認識に問題があります。私はbuild & Runsource environment-setup-cortexa9hf-vfp-neon-poky-linux-gnueabiにもg ++コンパイラを追加しました。

make: c: Command not found make: [moc_utils.o] Error 127 (ignored)

make: Wl,-rpath-link,/opt/poky/charles/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/usr/lib:

Command not found make: [quicknanobrowser] Error 127 (ignored)

はここに1つのコンパイラログインエラーです:

14:27:55: Running steps for project quicknanobrowser...

14:27:55: Starting: "/opt/poky/charles/sysroots/x86_64-pokysdk-linux/usr/bin/qt5/qmake" /home/hbulab/Qt5.5.1/Examples/Qt-5.5/webengine/quicknanobrowser/quicknanobrowser.pro -r -spec linux-oe-g++ CONFIG+=debug CONFIG+=declarative_debug CONFIG+=qml_debug

14:27:55: The process "/opt/poky/charles/sysroots/x86_64-pokysdk-linux/usr/bin/qt5/qmake" exited normally.

14:27:55: Starting: "/usr/bin/make"

c -pipe -g -DLINUX=1 -DEGL_API_FB=1 -Wall -W -D_REENTRANT -fPIC -DQT_QML_DEBUG -DQT_DECLARATIVE_DEBUG -DQT_WEBENGINE_LIB -DQT_QUICK_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I.

、ここでエラーのないもので、私たちはmakeをg ++コンパイラを見つけることができなかったことを見ることができました。どうすれば修正できますか?

14:29:08: Running steps for project quicknanobrowser... 14:29:08: Starting: "/opt/hio-imx6dl-board/opt/Qt5daisy/bin/qmake" /home/hbulab/Qt5.5.1/Examples/Qt-5.5/webengine/quicknanobrowser/quicknanobrowser.pro -r -spec devices/linux-imx6-g++ CONFIG+=debug CONFIG+=declarative_debug CONFIG+=qml_debug

14:29:09: The process "/opt/hio-imx6dl-board/opt/Qt5daisy/bin/qmake" exited normally.

14:29:09: Starting: "/usr/bin/make"

/opt/poky/1.6.1/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-g++ -c -pipe -march=armv7-a -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -mfloat-abi=hard -g -Wall -W -D_REENTRANT -fPIC -DQT_QML_DEBUG -DQT_DECLARATIVE_DEBUG -DQT_WEBENGINE_LIB -DQT_QUICK_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I.

メイクファイル情報:

MAKEFILE  = Makefile 

####### Compiler, tools and options 

CC   = $(OE_QMAKE_CC) 
CXX   = $(OE_QMAKE_CXX) 
DEFINES  = -DQT_QML_DEBUG -DQT_DECLARATIVE_DEBUG -DQT_WEBENGINE_LIB -DQT_QUICK_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB 
CFLAGS  = -pipe $(OE_QMAKE_CFLAGS) -g -DLINUX=1 -DEGL_API_FB=1 -Wall -W -D_REENTRANT -fPIC $(DEFINES) 
CXXFLAGS  = -pipe $(OE_QMAKE_CXXFLAGS) -g -DLINUX=1 -DEGL_API_FB=1 -Wall -W -D_REENTRANT -fPIC $(DEFINES) 
INCPATH  = -I../../../Qt5.5.1/Examples/Qt-5.5/webengine/quicknanobrowser -I. -isystem /opt/poky/charles/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/usr/include/qt5 -isystem /opt/poky/charles/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/usr/include/qt5/QtWebEngine -isystem /opt/poky/charles/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/usr/include/qt5/QtQuick -isystem /opt/poky/charles/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/usr/include/qt5/QtWidgets -isystem /opt/poky/charles/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/usr/include/qt5/QtGui -isystem /opt/poky/charles/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/usr/include/qt5/QtQml -isystem /opt/poky/charles/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/usr/include/qt5/QtNetwork -isystem /opt/poky/charles/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/usr/include/qt5/QtCore -I. -I/opt/poky/charles/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/usr/lib/qt5/mkspecs/linux-oe-g++ 
QMAKE   = /opt/poky/charles/sysroots/x86_64-pokysdk-linux/usr/bin/qt5/qmake 
+0

SDKを変更するときに 'qmake'を再実行しましたか?生成されたMakefileの開始はどのように見えますか?それは 'CXX = $(OE_QMAKE_CXX)'のような行を含んでいますか?もしそうなら、エラーを出した直後に 'echo $ OE_QMAKE_CXX'を実行すると何が得られますか? – Anders

+0

qmakeを再実行するにはどうすればよいですか?Qt Creatorからキットを切り替えるだけでした。それはmakeで失敗するので、MakeFileを作成しませんでした –

+0

トレースを見ると、qmakeが実行されているようです。 QtCreatorで 'source environment-setup-cortexa9hf-vfp-neon-poky-linux-gnueabi'をすべて設定しましたか? (またはQtCreatorを起動するのと同じシェルにソースされていますか?)コンパイル中にビルドが失敗すると、 '$ {CC}'は空になります。qmakeはMakefileを作成します。 qmakeが正常に終了したので、これもログに表示されます。 qmakeを実行してシェルでmakeしようとするとどうなりますか? – Anders

答えて

2

${OE_QMAKE_CXX}としては、それはあなたがソースenvironment-setup-cortexa9hf-vfp-neon-poky-linux-gnueabiasenvironment-setup-cortexa9hf-vfp-neon-poky-linux-gnueabiを持っていないことを私に示して、空です。

これは手作業でコンパイルするために動作するはずです:

. /opt/poky/charles/environment-setup-cortexa9hf-vfp-neon-poky-linux-gnueabi 
echo $OE_QMAKE_CXX 
qmake 
make 

(あなたがqmakeのために余分な引数を渡す必要はありませんと仮定します)。

は、その後、次の操作を行います。あなたは、あなたがソースと同じシェルからenvironment-setup-cortexa9hf-vfp-neon-poky-linux-gnueabiをqtcreatorを開始する必要があります

. /opt/poky/charles/environment-setup-cortexa9hf-vfp-neon-poky-linux-gnueabi 
echo $OE_QMAKE_CXX 
qtcreator 

これは、あなたが軌道に乗る必要があります。さもなければ、私は小さくてシンプルなQtアプリケーションを正しく構築することから始めてみることをお勧めします。

さらにQtCreatorを設定する場合は、how to setup QtCreator for cross-compilationを見てください。

更新

それはQt5は全くSDKに含まれていないように見えるように、私たちはまず、適切なSDKを生成する必要があります。私の好ましい方法:これはあなたのイメージレシピ限り、作品

bitbake your-image -c populate_sdk 

はあなたSYSROOTあなたのイメージにマッチするSDKを与えるだろう

inherit populate_sdk_qt5 

が含まれています。

「古い」方法は、特別なツールチェーンレシピを使用することです。 meta-toolchain-qt5となるQt5、またはそれを含む/必要とするレシピ。この場合、次のコマンドを実行します。

bitbake meta-toolchain-qt5 

イメージ固有のSDKを使用することをお勧めします。

+0

答えをありがとう。 $ OE_QMAKE_CXXは、ソース環境があるとまだ空です。そこで私は一歩踏み出して環境ファイルを比較しました。すべての 'export OE_QMAKE'が欠落していることを確認してください。どうしてそういうのが分かりますか? –

+0

ああ、それは全く違うことです。その場合は、SDKにQtがないと仮定します。上記の私の追加。 – Anders

+0

私がしたのは、実際には 'meta-toolchain-qt5'でした。それは5.2.1バージョンのために働いた。以来、私は5.5.1に切り替えて、Qt webengineを追加しました。すべてが間違っています。 –

関連する問題