对于我在 travis CI 上的构建,我需要 qt5 x11extras 插件。我尝试添加 ppa:ubuntu-sdk-team/ppa,但 cmakes find_package(Qt5X11Extras REQUIRED) 仍然失败。ubuntu 到底把 qt 的东西藏在哪里了?
答案1
你确定你谈论的是 Ubuntu 12.04 吗?Qt5似乎不可用在 Ubuntu 12.04 中。
如果你说的是 Ubuntu 14.04 或更高版本,我认为你想要的软件包名为libqt5x11extras5-dev
。检查它是否已安装:
sudo apt-get install libqt5x11extras5-dev
更新:
Qt X11 Extras 原为在 Qt 5.1 中引入,但Ubuntu SDK 团队 PPA(ppa:ubuntu-sdk-team/ppa) 仅为 Ubuntu 12.04 提供 Qt 5.0。经过大量搜索,我找不到可以使用的 PPA。恕我直言,您只剩下 2 个选择:
- 卸载从 PPA 安装的所有 Qt5 软件包,然后使用Qt 安装程序。
- 升级到 Ubuntu 14.04 (或更高版本)并安装
libqt5x11extras5-dev
。
更新2:
如果你仍然感兴趣,还有新的Stephan Binner 的 PPA使用适用于 Precise 和 Trusty 的最新 Qt 版本。为了不干扰 Qt 系统包,它们安装在,/opt
因此您必须将正确的路径 ( /opt/qtXX/include/QtX11Extras
) 告知您的构建工具。
例如:如果您想要 Qt 5.1 的 x11extras,您可以添加 Qt 5.1.1 PPA:
sudo apt-add-repository ppa:beineri/opt-qt511
sudo apt-get update
然后qt-latest
安装qt51x11extras
:
sudo apt-get install qt-latest qt51x11extras
x11extras 的包含文件将位于 中/opt/qt51/include/QtX11Extras
。
答案2
如果你自己编译 Qt5,你需要克隆 git submodule qtx11extras
。如果你运行 configure 和 make,Qt 也会编译 extras。
Qt 有一个名为的脚本,init-repository
用于控制要克隆的 git 子模块,但是没有为我初始化 qtx11extras。