【问题标题】:How to compile program with opencv and qt for Yocto linux image?如何使用 opencv 和 qt 为 Yocto linux 映像编译程序?
【发布时间】:2017-11-15 09:16:19
【问题描述】:

使用 Yocto,我能够生成我的 Linux 映像及其根文件系统,其中包含用于 qt 和 opencv 的库。

为了编译 QT 程序,有一个 SDK poky-eglibc-i686-meta-toolchain-qt5-cortexa15hf-vfp-neon-toolchain-1.6.1.sh

为了编译 Opencv,我有另一个 SDK:poky-eglibc-i686-core-image-weston-cortexa15hf-vfp-neon-toolchain-1.6.1.sh。

QT SDK 没有任何用于 opencv 的库和头文件,这使得使用 Opencv 和 QT 都难以编译程序。

我能够使用单独的 SDK 成功编译 Qt 程序和 opencv 程序。

有没有可以同时使用 QT 和 Opencv 编译程序的 SDK? 或者我应该如何生成一个?

【问题讨论】:

    标签: linux qt opencv yocto openembedded


    【解决方案1】:

    我的偏好是创建基于图像的 SDK,即与您的图像匹配的 SDK。这是通过运行来完成的:

    bitbake <your-image> -c populate_sdk
    

    如果您的映像包含 Qt5 应用程序和 OpenCV,那么这两者都会自动安装到您的新 SDK 中。您的图像配方中应该包含以下行:

    inherit populate_sdk_qt5
    

    另一种方法是创建您自己的 SDK 配方,例如将meta-toolchain-qt5 复制到您自己的层并重命名它。然后添加:

     TOOLCHAIN_TARGET_TASK_append = " opencv"
    

    这应该将 opencv 添加到您的通用 Qt5 SDK。

    同样,我的建议是使用基于图像的方法。

    【讨论】:

    • 我也在使用基于图像的方法。我的图像还包含inherit populate_sdk_qt5。这将提取一些 nativesdk qt 工具,并将创建 qt.conf sdk 文件。我不确定这些东西是否由于依赖关系而被引入。
    • @TomasNovotny 感谢您的回复。我做了同样的事情继承populate_sdk_qt5,然后bitbake -c populate_sdk。它奏效了。
    猜你喜欢
    • 1970-01-01
    • 2018-12-21
    • 1970-01-01
    • 1970-01-01
    • 2020-07-04
    • 1970-01-01
    • 1970-01-01
    • 2021-03-23
    • 2011-05-19
    相关资源
    最近更新 更多