![无法使用 C++ 插件运行 QML App](https://linux22.com/image/979562/%E6%97%A0%E6%B3%95%E4%BD%BF%E7%94%A8%20C%2B%2B%20%E6%8F%92%E4%BB%B6%E8%BF%90%E8%A1%8C%20QML%20App.png)
我正在尝试使用 C++ 功能扩展 QML 应用程序。基本上,我想让 Android 上可用的 MythMote 应用程序在 Ubuntu Touch 上可用。另请参阅我的另一个问题,我仍然希望得到一些答案/指示(带有简单 UI 的 Ubuntu Touch App(QMake)-如何将 C++ 连接到 QML)。我找到了一个使用 C++ 扩展 QML 的教程(http://www.ics.com/blog/integrating-c-qml) 我正尝试以此作为我的起点。
因此,在 SDK 中,我选择了带有 C++ 插件(qmake)的 QML App,选择了 ubuntu-core-15.04 框架和 Ubuntu 设备(GCC armhf-ubuntu-sdk-15.04-vivid)以及桌面套件。
按原样运行该应用程序(无需修改),就像桌面应用程序一样。
在设备(Nexus 4)上运行失败,首先出现一个对话框,提示在当前任务中发现一些构建错误,并询问我是否要忽略它们。
问题如下:
warning: security_policy_groups_safe_app (debug): (REJECT) reserved policy group 'debug': not for production use
The debug policy group is automatically injected and should only be used for development.
To create a package for the store use the publish tab!
error: security_policy_version_matches_framework (app/app.apparmor): 1.2 != 1.3 (ubuntu-core-15.04)
我集中精力解决这个错误,并更改了 app.apparmor 文件,以便策略版本显示为 1.3。
然后它失败了:
Cannot install /tmp/untitled.username_0.1_armhf.click: Framework "ubuntu-core-15.04" not present on system (use --force-missing-framework option to override)
该设备具有 GCC armhf-ubuntu-sdk-15.04-vivid 套件。是否应更改该套件?如果是,我该如何更改?自动创建套件会重新创建 GCC armhf-ubuntu-sdk-15.04-vivid 套件。
答案1
对我来说,正确的组合是 QML App 与 C++ 插件(构建) 使用框架ubuntu-sdk-14.10-utopic。
答案2
如果你尝试使用 C++ 插件创建 QML 应用并使用制作选项,您将无法在设备上安装该应用程序。错误:
Framework "ubuntu-core-15.04" not present on system
因此,在 SDK 中,选择带有 C++ 插件的 QML App(构建)。然后它将在您的设备上运行。