【问题标题】:How do I cross-compile a Qt-project with a recipe in yocto如何在 yocto 中使用配方交叉编译 Qt 项目
【发布时间】:2020-09-13 21:35:17
【问题描述】:

我正在尝试从配方交叉编译一个 qt 项目。我已经创建了一个食谱文件,但是当我尝试对其进行 bitbake 时。我遇到了错误

这是我的食谱文件

DESCRIPITION = "my_project File Transfer"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"

SRC_URI = "git://git@bitbucket.org/johndoe/my_ui.git;protocol=ssh;rev=master"

S = "${WORKDIR}/git/my_project"

RDEPENDS_${PN} ="bash"
inherit qmake5
require recipes-qt/qt5/qt5.inc

do_install_append() {
    ## Creating Folder Structure
    install -d ${D}/opt/my_project/bin
    install -d ${D}/home/root/my_project
    install -d ${D}/home/root/my_project/font
    install -d ${D}/home/root/my_project/Images
    install -d ${D}/home/root/my_project/Qml
    ###compile the project  
    oe_runmake INSTALL_ROOT=${D} install
    #### Copying files
    install -m 0755 ${S}/font/* ${D}/home/root/my_project/font/
    install -m 0755 ${S}/Images/* ${D}/home/root/my_project/Images/
    install -m 0755 ${S}/Qml/* ${D}/home/root/my_project/Qml/
}


FILES_${PN} = "/home/root/my_project"

我看到的错误是

Sstate summary: Wanted 335 Found 327 Missed 8 Current 1958 (97% match, 99% complete)
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
ERROR: myproject-project-1.0-r0 do_configure: Error calling /home/blue/yacto/rpi-qt5/build/tmp/work/all-poky-linux/myproject-project/1.0-r0/recipe-sysroot-native/usr/bin/qmake -makefile -o Makefile        /home/blue/yacto/rpi-qt5/build/tmp/work/all-poky-linux/myproject-project/1.0-r0/git/myproject/myproject.pro  -- 
ERROR: myproject-project-1.0-r0 do_configure: Function failed: do_configure (log file is located at /home/blue/yacto/rpi-qt5/build/tmp/work/all-poky-linux/myproject-project/1.0-r0/temp/log.do_configure.20982)
ERROR: Logfile of failure stored in: /home/blue/yacto/rpi-qt5/build/tmp/work/all-poky-linux/myproject-project/1.0-r0/temp/log.do_configure.20982
Log data follows:
| DEBUG: Executing shell function qmake5_base_preconfigure
| DEBUG: Shell function qmake5_base_preconfigure finished
| DEBUG: Executing shell function do_configure
| NOTE: qmake prevar substitution: '   '
| Could not find qmake spec 'linux-oe-g++'.
| Error processing project file: /home/blue/yacto/rpi-qt5/build/tmp/work/all-poky-linux/myproject-project/1.0-r0/git/myproject/myproject.pro
| ERROR: Error calling /home/blue/yacto/rpi-qt5/build/tmp/work/all-poky-linux/myproject-project/1.0-r0/recipe-sysroot-native/usr/bin/qmake -makefile -o Makefile        /home/blue/yacto/rpi-qt5/build/tmp/work/all-poky-linux/myproject-project/1.0-r0/git/myproject/myproject.pro  --
| WARNING: exit code 1 from a shell command.
| ERROR: Function failed: do_configure (log file is located at /home/blue/yacto/rpi-qt5/build/tmp/work/all-poky-linux/myproject-project/1.0-r0/temp/log.do_configure.20982)
ERROR: Task (/home/blue/yacto/poky-warrior-21.0.1/meta-rpi_custom/recipes-custom/myproject-project/myproject-project_1.0.bb:do_configure) failed with exit code '1'
NOTE: Tasks Summary: Attempted 4242 tasks of which 4241 didn't need to be rerun and 1 failed.

Summary: 1 task failed:
  /home/blue/yacto/poky-warrior-21.0.1/meta-rpi_custom/recipes-custom/myproject-project/myproject-project_1.0.bb:do_configure

我知道是为了交叉编译。我必须从我的交叉编译工具链位置运行qmake,然后在其上运行make 命令。

我猜这就是我的食谱中缺少的东西。所以我的问题是,我是否将其添加到我的do_configure 如果是这样的话,任何人都可以帮助我或指出我如何填充我的 do_configure 是不是和source/opt/poky/2.7.1/environment一样简单---- 然后qmake

我在这一步画一个空白

请告诉我我做错了什么

Edit1:从配方中删除 inherit allarch

【问题讨论】:

  • 您的配方声称是“allarch”(因此与架构无关),但如果您也在交叉编译,这似乎不太可能......
  • @JussiKukkonen 我将删除它并尝试一下
  • @JussiKukkonen 尝试过仍然给我同样的错误
  • 您在项目的 .pro 文件中使用和配置了哪些 Qt 模块?我会留下inherit qmake5 并输入DEPENDS + = "qtbase qtxyz ...",qtxyz 将是其他依赖模块的列表
  • @CleitonBueno 我就是这么做的。后来我想通了并添加了DEPENDS,它起作用了。您能否发表评论作为答案。我在 Stackoverflow 中看到另一个类似的问题,但还没有答案。

标签: qt yocto bitbake


【解决方案1】:

我会留下inherit qmake5 并输入DEPENDS + = "qtbase qtxyz ...",qtxyz 将是其他依赖模块的列表。

【讨论】:

    猜你喜欢
    • 2019-02-28
    • 1970-01-01
    • 1970-01-01
    • 2011-03-13
    • 1970-01-01
    • 1970-01-01
    • 2019-07-13
    • 2016-05-11
    • 2018-02-03
    相关资源
    最近更新 更多