【问题标题】:Install qt-mobility through buildroot通过 buildroot 安装 qt-mobility
【发布时间】:2018-01-11 10:50:12
【问题描述】:

我目前正在使用自定义 Linux 在基于 SAMA5d2 的板上移植一个项目,该项目是一个 .pro 项目,因此我需要使用 Qt 进行编译。

项目如下:Buteo-mtp

这是我的 Config.in 文件

config BR2_PACKAGE_BUTEO_MTP
    bool "Buteo MTP project"
    help
        buteo-mtp is a project presenting the board as a MTP device. 

    https://github.com/hufman/buteo-mtp

这是我的 .mk 文件

##############################################################################    ##
#
# buteo-mtp project for Base boards
#
################################################################################
BUTEO_MTP_SITE_METHOD = git
BUTEO_MTP_SITE = https://github.com/hufman/buteo-mtp
BUTEO_MTP_VERSION = 0.1.2

define BUTEO_MTP_CONFIGURE_CMDS
    $(HOST_DIR)/usr/bin/qmake -o $(@D)/Makefile $(@D)/libmeegomtp.pro
endef

define BUTEO_MTP_BUILD_CMDS
    make -C $(@D)
endef

$(eval $(generic-package))

我第一次尝试使用 buildroot 集成最后一个 Qt5 版本(当前为 5.8)。但是,即使从 .pro 生成 Makefile 工作,编译也会失败并出现以下错误:

$ make
>>> buteo-mtp 0.1.2 Downloading
Doing shallow clone
Clonage dans 'buteo-mtp-0.1.2'...
remote: Counting objects: 127, done.
remote: Compressing objects: 100% (107/107), done.
remote: Total 127 (delta 24), reused 85 (delta 15), pack-reused 0
Réception d'objets: 100% (127/127), 220.43 KiB | 51.00 KiB/s, fait.
Résolution des deltas: 100% (24/24), fait.
Note : extraction de '56bfa87a9bf32997215583d28c7b97d57415724c'.
>>> buteo-mtp 0.1.2 Extracting
gzip -d -c <BR_path>/dl/buteo-mtp-0.1.2.tar.gz | tar --strip-components=1 -C <BR_path>/output/build/buteo-mtp-0.1.2   -xf -
>>> buteo-mtp 0.1.2 Patching
>>> buteo-mtp 0.1.2 Configuring
<BR_path>/output/host/usr/bin/qmake -o <BR_path>/output/build/buteo-mtp-0.1.2/Makefile <BR_path>/output/build/buteo-mtp-0.1.2/libmeegomtp.pro
>>> buteo-mtp 0.1.2 Building
make -C <BR_path>/output/build/buteo-mtp-0.1.2
make[1] : on entre dans le répertoire « <BR_path>/output/build/buteo-mtp-0.1.2 »
cd mts/ && ( test -e Makefile || <BR_path>/output/host/usr/bin/qmake -o Makefile <BR_path>/output/build/buteo-mtp-0.1.2/mts/mts.pro ) && make -f Makefile 
Project WARNING: Cross compiling without sysroot. Disabling pkg-config.
Project WARNING: Cross compiling without sysroot. Disabling pkg-config.
sh: 1: --exists: not found
Project ERROR: Qt5SystemInfo development package not found
Makefile:50 : la recette pour la cible « sub-mts-make_first » a échouée
make[1]: *** [sub-mts-make_first] Erreur 3
make[1] : on quitte le répertoire « <BR_path>/output/build/buteo-mtp-0.1.2 »
package/pkg-generic.mk:216 : la recette pour la cible « <BR_path>/output/build/buteo-mtp-0.1.2/.stamp_built » a échouée
make: *** [<BR_path>/output/build/buteo-mtp-0.1.2/.stamp_built] Erreur 2

经过一番研究,我发现 QtSystemInfo 是一个包含在 qt-mobility 中的开发包。但是我找不到包含 Qt5SystemInfo 的 buildroot 包。

但是我在https://github.com/virt2real/dm36x-buildroot/tree/master/package/qt-mobility找到了一个依赖于 Qt4 的 qt-mobility 的 buildroot 配置

所以在通过 buildroot 构建 Qt4.8 之后,我添加了 qt-mobility 包并启用了 SystemInfo 模块。但是,运行 make 后没有构建或下载任何内容。 事实上,源的引用站点不再存在。 (就像 Qt 文档中给定链接的一半......)

QT_MOBILITY_VERSION = 1.2.0
QT_MOBILITY_SOURCE  = v$(QT_MOBILITY_VERSION)
QT_MOBILITY_SITE    = http://qt.gitorious.org/qt-mobility/qt-mobility/archive-tarball
QT_MOBILITY_DEPENDENCIES = qt
QT_MOBILITY_INSTALL_STAGING = YES

有人知道我在哪里可以找到 qt-mobility 源的 tar 存档,而且可以在一个网站上找到可以长期提供支持的网站吗?

我还没有使用 Qt 的任何经验,但在我看来它非常非常混乱而且我没有找到这么多信息。此外,我发现的许多文档已被弃用或给定的链接已失效。

qt-mobility 是否也存在于 Qt5 中或已被另一个模块替换?

【问题讨论】:

    标签: linux qt embedded buildroot


    【解决方案1】:

    乍一看,Qt5SystemInfo 似乎不是 Qt5 本身的一部分,而是特定于 Mer/SailfishOS 项目的扩展。

    我建议您使用更新版本的 buteo-mtp,因为在提交 1ccd51eee9442210f058d3054cb83d811ef863a5(在您使用的 0.1.2 版本之后)中删除了对 Qt5SystemInfo 的引用。

    【讨论】:

    • 你能解释一下你是怎么看到的吗?我看到的最后一个版本/标签是 2013 年 7 月 8 日发布的 v0.1.2。
      您如何看到对 Qt5SystemInfo 的引用已被删除?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-25
    • 2017-08-26
    相关资源
    最近更新 更多