Qt错误:c:命令未找到/ qmake找不到g ++编译器

时间:2016-03-30 21:48:42

标签: linux qt qt5 qt-creator bitbake

我有两个版本的Qt Creator SDK:从开源编译并从bitbake编译。

Open Source SDK工作正常,但是bitbake正在识别编译器时遇到问题。我已将g ++编译器添加到build & Runsource environment-setup-cortexa9hf-vfp-neon-poky-linux-gnueabi

  

make:c:找不到命令make:[moc_utils.o]错误127(忽略)

     

请:   WL,-rpath链路,/选择/狭小/查尔斯/ sysroots / cortexa9hf-VFP氖-狭小-Linux的gnueabi / usr / lib中:

     

找不到命令make:[quicknanobrowser]错误127(忽略)

以下是编译器日志错误:

  

14:27:55:为项目quicknanobrowser运行步骤...

     

14时27分55秒:   开始:   " /选择/狭小/查尔斯/ sysroots / x86_64的-pokysdk-的Linux的/ usr /斌/ 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:这个过程   " /选择/狭小/查尔斯/ sysroots / x86_64的-pokysdk-的Linux的/ usr /斌/ QT5 / qmake的"   正常退出。

     

14:27:55:开始:" / 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:项目quicknanobrowser的运行步骤... 14:29:08:   开始:" / 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:这个过程   " /选择/ HIO-imx6dl板/选择/ Qt5daisy / bin中/ qmake的"正常退出。

     

14:29:09:开始:" / 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      = 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

1 个答案:

答案 0 :(得分:3)

由于${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)。

然后执行以下操作:

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

请注意,您应该从源自environment-setup-cortexa9hf-vfp-neon-poky-linux-gnueabi的shell中启动qtcreator。

这应该让你去。否则,我建议首先正确构建一个简单的小型Qt应用程序。

有关配置QtCreator的更多信息,您可以查看how to setup QtCreator for cross-compilation

更新

由于Qt5似乎根本没有包含在SDK中,我们首先必须生成一个合适的SDK。我的首选方式:

 bitbake your-image -c populate_sdk

只要你的图像配方包含

,这就有效
 inherit populate_sdk_qt5

这会给你一个SDK,其sysroot将匹配你的图像。

"年长的"方式,就是使用特殊的工具链配方。对于Qt5,它将是meta-toolchain-qt5,或者包含/需要那个的Qt5。在这种情况下,您将运行:

  bitbake meta-toolchain-qt5

但是,推荐的方法是使用特定于图像的SDK。