This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Linux/AM3354:QT 版本

Guru**** 2943030 points

Other Parts Discussed in Thread: AM3354

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/670333/linux-am3354-qt-version

器件型号:AM3354

工具/软件:Linux

您好!

感谢您在我们需要时提供的友好支持。


目前、我们使用的是具有处理器 SDK 03.03的 AM3354特定定制板。 默认情况下,它具有 QT 5.6。
但是、我们的应用需要支持 QT Wayland 的 QT 5.8或更高版本。

因此、我们计划将 SDK 升级到04.02 (最新版本)。
请提供以下信息:


1)哪个 QT 版本(它是否>5.8)将随最新的 SDK 04.02提供

2) QTWayland (https:// wiki.qt.io/QtWayland)是否是默认 QT 库的一部分,该库随此最新 SDK 04.02一起提供

3) 3)是否可以在旧版 SDK 03.03中使用 QTWayland 获得 QT 5.8?

谢谢、

Bibplab

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    PSDK 4.02中的当前 QT 版本为5.7.1。 请查看发行说明以了解更多信息:
    processors.wiki.ti.com/.../Processor_SDK_Linux_Release_Notes
    我建议您也查看以下链接:
    processors.wiki.ti.com/.../Processor_Linux_SDK_Graphics_and_Display
    e2e.ti.com/.../2326045
    e2e.ti.com/.../663094

    希望这对您有所帮助。

    BR
    玛格丽塔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的玛格丽塔
    我已下载最新的 TI SDK 04.02、观察到的 QT 版本为5.7

    但是、您能否指导我实现以下目标:
    1) 1)是否可以在旧版 SDK 03.03中使用 QTWayland 获得 QT 5.8?
    2) 2)是否可以在最新的 SDK 04.02中使用 QTWayland 获得 QT 5.8? (可能正在将 Yocto 用于 QT、但对于根文件系统、我将使用 TI SDK 中提供的 targetNFS)

    我想在 TI AM335x EVK 本身(而不是我们的定制板)中尝试此操作
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    您似乎可以更改/.../tisdk/configs/processor-sdk/processor-sdk-04.02.00.09-config.txt 文件中的 meta-qt5版本。
    您应该执行:
    1.git 克隆 git://arago-project.org/git/projects/oe-layersetup.git tisdk
    2.cd tisdk
    3./您应该在此处更改以下行:meta-qt5、git://github.com/meta-qt5/meta-qt5.git、morty、2c9f0e4eb0e9097f6f872ec1e1d81768a8ab5f1b、layers=
    有关 qt 版本等、请参阅此链接:
    github.com/.../meta-qt5
    4../oe-layertool-setup.sh -f configs/processor-sdk/processor-sdk-04.02.00.09-config.txt
    5.有关 其他步骤,请访问 processors.wiki.ti.com/.../Processor_SDK_Building_The_SDK。

    注:您可能应该解决某些依赖项问题、也可能不会解决。
    请记住、在 PSDK 4.2中、我们支持 qt5.7、因此任何其他 QT 版本的更改都可能导致行为变化。
    另一个注意事项请在此主题中检查此答案:
    e2e.ti.com/.../2442034

    希望这对您有所帮助。
    如有需要,我亦会谘询专家的意见。 请告诉我。

    此致、
    玛格丽塔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Margarita、

    我发现 SDK03.03 (内核4.4.41)  和  SDK04.02 (内核4.9.59)的默认 QT 版本相同。

    在评估套件中运行应用程序时、我获得了 QT 版本、默认 Linux 映像为 SDK04.02。

    我有什么问题吗?

    请查找两个 SDK 的附加映像。

    您还能建议如何使用 Yocto 仅构建 QT (而不是 Arago-core-tisdk-image)吗?

    SDK 04.04 -->

    SDK 03.03 -->

    非常感谢您的支持。

    -Biplab

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    我不确定您正在运行什么来检查 qt 版本、但请查看版本说明。
    processors.wiki.ti.com/.../Processor_SDK_Linux_Release_Notes
    processors.wiki.ti.com/index.php

    即使在3.03中、qt 版本也是5.6.2。

    但是、在/linux-devkit/sysroots/x86_64-arago-linux/usr/lib 下、我会看到 libQt5Core.so.5.7.1、例如。

    如果我正确理解您的问题、您不想只构建具有 bitbake 的 qt、而是构建完整的 PSDK。
    如果是、您可以在/tisdk/sources/meta-qt5/recipes-qt/qt5.下查看食谱
    以下是 qtbase 的命令、例如:
    机器= bitbake qtbase

    希望这对您有所帮助。

    BR
    玛格丽塔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Margarita、

    我理解为什么 QT_VERSION_STR 是5.6.1

    原因是我们使用 SDK03.01的 qmake  for SDK 03.03和 SDK04.02进行 QT 应用程序(在 QT 创建程序中)的交叉编译-> http:// processors.wiki.ti.com/index.php/File:Sitara_Linux_QT_options.jpeg  

    注:SDK03.01 qmake 为 QT 5.6.1 ->因此我收到错误

    我发现我们无法使用 SDK 03.03或 SDK04.02的 qmake。

    如果我们使用 SD03.03或 SDK04.02、则 T 会抛出错误"无法找到 GNU/stub-soft.h"

    查询1:

    您能告诉我我们是否使用 SDK04.02的 qmake (ti-processor-sdk-linux-am335x-evm-04.02.00.09/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/qt5/qmake)交叉编译 QT 应用程序,我们如何克服 QT 中的错误吗?

    错误:

    在/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/linux-devkit/sysroots/armv7ahf-neon-linux-gnueabi/usr/include/features.h:392:0中包含的文件中、

    从/usr/include/x86_64-linux-gnu/c ++/5/bits/OS_defins.h:39、

    来自/usr/include/x86_64-linux-gnu/c ++/5/bits/c++config.h:482、

    来自/usr/include/c ++/5/cstddef:44、

    来自/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/linux-devkit/sysroots/armv7ahf-neon-linux-gnueabi/usr/include/qt5/QtCore/qglobal.h:45、

    来自/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/linux-devkit/sysroots/armv7ahf-neon-linux-gnueabi/usr/include/qt5/QtGui/qwindowdefs.h:43、

    来自/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/linux-devkit/sysroots/armv7ahf-neon-linux-gnueabi/usr/include/qt5/QtWidgets/qwidget.h:43、

    来自/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/linux-devkit/sysroots/armv7ahf-neon-linux-gnueabi/usr/include/qt5/QtWidgets/QWidget:1、

    从./untitled23/Widget。h:4、

    从./untitled23/main.cpp:1:

    /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/linux-devkit/sysroots/armv7ahf-neon-linux-gnueabi/usr/include/gnu/stubs.h:7:29:致命错误:GNU/stubs-soft.h:无此类文件或目录

    编译已终止。

    查询2:

    我正在使用 Yocto 和 PROCESSOR-SDK-04.02.00.09-CONFIG.txt 构建 QT5.8。 修改了卵泡线以获得 QTc 5.8

    meta-qt5、git://github.com/meta-qt5/meta-qt5.git、master、333949a8239dfa7788b35f1059614733e11a6a25、层数=

    但是、当我执行 MACHINE=AM335x-EVM bitbake -k qtbase 时、我会收到连接错误。 需要您的指导来解决此问题。

    错误:

    错误:qtbase-5.8.0+gitAUTOINC+49dc9aa409-r0.arago12.tisdk4 do_patch:命令错误:'quilt --quiltrc /home/user/biplab/yocto_new/tisdk/build/arago-tmp-external-linaro-toolchain/sysroots/x86_64-linux/etc/quiltrc push'以0退出输出:

    应用补丁0001-qtbase-enhing-eglfs_kms-to-handle-drm- plane-set-req.patch

    修补文件 src/plugins/platforms/eglfs/deviceintegrate/eglfs_kms/qeglfskmsgbmdevice.cpp

    hunk #5在234以 fuzz 1成功。

    修补文件 src/plugins/platforms/eglfs/deviceintegrate/eglfs_kms/qeglfskmsgbmdevice.h

    hunk #2以114成功、双毛刺2 (偏移-1行)。

    修补文件 src/plugins/platforms/eglfs/deviceintegrate/eglfs_kms/qeglfskmsgbmintegration.cpp

    修补文件 src/plugins/platforms/eglfs/deviceintegrate/eglfs_kms/qeglfskmsgbmintegration.h

    修补文件 src/plugins/platforms/eglfs/deviceintegrate/eglfs_kms/qeglfskmsgbmscreen.cpp

    Hunk #1在165 (偏移-1行)处成功。

    hunk #2在232 (偏移-1行)处成功。

    修补文件 src/plugins/platforms/eglfs/deviceintegrate/eglfs_kms_support/qeglfskmsdevice.cpp

    hunk #1在159处失败。

    猎头#2以176成功、带双毛刺2 (偏移4条线)。

    Hunk #3在286 (偏移17行)处成功。

    hunk #4在288处失败。

    Hunk #5以330成功(偏移25条线)。

    在5次搜索中,有2次失败--在文件 src/plugins/platforms/eglfs/deviceintegration /eglfs_kms_support/qeglfskmsdevice.cpp 中拒绝

    修补文件 src/plugins/platforms/eglfs/deviceintegrate/eglfs_kms_support/qeglfskmsscreen.h

    在输入行774找不到要修补的文件

    也许您使用了错误的-p 或--strip 选项?

    由此产生的文本为:

    ----------------

    |diff --git A/src/插件/平台/eglfs/eglfs_device_lib.pro b/src="/plugins/platforms/eglfs/eglfs_device_lib.pro

    |索引974b85b..2ef797d 100644

    |-- A/src/plugins/platforms/eglfs/eglfs_device_lib.pro

    |++ b/src/插件/平台/eglfs/eglfs_device_lib.pro

    ----------------

    没有要修补的文件。 跳过修补程序。

    1个猎头中的1个被忽略

    在输入行788中找不到要修补的文件

    也许您使用了错误的-p 或--strip 选项?

    由此产生的文本为:

    ----------------

    |diff --git A/src/插件/平台/eglfs/qeglfsdeviceintegration.cpp b/src="/plugins/platforms/eglfs/qeglfsdeviceintegration.cpp

    |索引 fc41dc5.6951540 100644

    |-- A/src/plugins/platforms/eglfs/qeglfsdeviceintegration.cpp

    |++ b/src/插件/平台/eglfs/qeglfsdeviceintegration.cpp

    ----------------

    没有要修补的文件。 跳过修补程序。

    1个猎头中的1个被忽略

    在输入行813处找不到要修补的文件

    也许您使用了错误的-p 或--strip 选项?

    由此产生的文本为:

    ----------------

    |diff --git A/src/插件/平台/eglfs/qeglfsdeviceintegration.h b/src="/plugins/platforms/eglfs/qeglfsdeviceintegration.h

    |索引 f1a5bde..562f77f 100644

    |-- A/src/plugins/platforms/eglfs/qeglfsdeviceintegration.h

    |++ b/src/插件/平台/eglfs/qeglfsdeviceintegration.h

    ----------------

    没有要修补的文件。 跳过修补程序。

    1个猎头中的1个被忽略

    在输入行826处找不到要修补的文件

    也许您使用了错误的-p 或--strip 选项?

    由此产生的文本为:

    ----------------

    |diff --git A/src/插件/平台/eglfs/qeglfsintegration.cpp b/src="/plugins/platforms/eglfs/qeglfsintegration.cpp

    |索引6f38a96..64c5c33 100644

    |-- A/src/plugins/platforms/eglfs/qeglfsintegration.cpp

    |++ b/src/插件/平台/eglfs/qeglfsintegration.cpp

    ----------------

    没有要修补的文件。 跳过修补程序。

    4个猎人中的4个被忽略了

    修补程序0001-qtbase-enhing-eglfs_kms-handle-drm-plane-set-req.patch 不适用(使用-f 强制执行)

    错误:qtbase-5.8.0+gitAUTOINC+49dc9aa409-r0.arago12.tisdk4 do_patch:函数失败:patch_do_patch

    错误:故障日志文件存储在:/home/user/biplab/yocto_new/tisdk/build/arago-tmp-external-linaro-toolchain/work/armv7ahf-neon-linux-gnueabi/qtbase/5.8.0 +gitAUTOINC+49dc9aa409-r0.arago12.tisdk4/temp/log.do_patch.18113中

    错误:任务(/home/user/biplab/yocto_new/tisdk/sources/meta-qt5/recipes-qt/qt5/qtbase_git.bb:DO 补丁)失败、退出代码为"1"

    BR、

    Bibplab

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    请检查以下主题:
    e2e.ti.com/.../608933
    e2e.ti.com/.../586656

    2.似乎正在尝试应用修补程序,但失败了。
    您可以在此处找到食谱:
    tisdk/sources/meta-qt5/peta-qt/qt5
    如果您打开 qtbase 配方(.bb)、您将看到带有补丁的行。
    如果打开 qtbase 文件夹,则会找到修补程序本身。
    您可以检查这个。

    BR
    玛格丽塔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Margarita、

    1) 1)感谢您提供链接。 但是、即使库来自较新的 SDK、指示使用较旧的 SDK qmake 的所有文章也是如此。 如果我的理解有误、请纠正我的问题

    2) 2)我已经成功构建了用于 SDK 04.02的 QT5.8的 qtbase 和 qtdeclarative、没有任何警告/错误。感谢您的支持。

    我还收到了 tisdk/build/Arago-tmp-externo-linaro-toolchain/work /armv7ahf-none-linux-gnueabi/qtbase/5.8.0+gitAUTOINC+49dc9aa409-r0.arago12/image/usr/lib 下的所有库 (请参见下面的内容)。 如果此路径对于更新的 QT 库是否正常、请更正我。

    查询:

    a)能否仅替换使用任何 SDK 创建的 BSP 上的所有这些库(QT 5.8)(例如 SDK 03.03或 SDK04.02中的 roo filesytem /usr/lib)?

    b)如果文件系统中同时包含 QT5.6和5.8库,QT 应用程序将如何知道要引用的库(使用软链接?) ?

    C)现在如何在 我的 BSP 上下载并安装 QtWayland (链接:HTTPS://wiki.qt.io/QtWayland)? Yocto 会帮我解决这个问题吗?

    只是为了澄清:我想要 QtWayland (而不是 Wayland)

    非常感谢您的指导。

    BR、

    Bibplab

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    根据我的理解、qtwayland 是 qt5.8的一部分。 您更改了 meta-qt5,以便您可以尝试... Bbitbake qtwayland 是它在您的身边工作。

    BR
    玛格丽塔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    请回答您的问题,您可以单击“此已解决我的问题”按钮。
    您可以为新问题打开一个新主题。

    BR
    玛格丽塔