看来,由于我没有从 ppa 安装 QT5 的 beta1 版本,因此我无法使用 Ubuntu 组件包。我已经拥有发布版 QT5,现在不想安装 beta 版本。有解决方法吗?
The following packages have unmet dependencies:
qt-components-ubuntu : Depends: qtbase but it is not installable
Depends: qtdeclarative but it is not installable
安装预览工具包的说明如下这里。我跳过了安装 QT5 的步骤,因为我已经从 qt-project.org 直接获得了较新的版本。
答案1
这些说明在 Ubuntu 12.04、Ubuntu 12.10 32 位和 64 位上进行了测试。
首先我们需要安装一些依赖项。即使你已经安装了 Qt5,也需要安装这些依赖项:
sudo apt-get install build-essential libgtk2.0-dev libgl1-mesa-dev
如果你还没有,请从以下网址下载并安装 QtSDKhttp://qt-project.org/downloads。
对于 Ubuntu 64 位运行:
cd ~
wget http://releases.qt-project.org/qt5/5.0.0/qt-linux-opensource-5.0.0-x86_64-offline.run
mv qt-linux-opensource-5.0.0-x86_64-offline.run qt5-installer.run
对于 Ubuntu 32 位,运行:
cd ~
wget http://releases.qt-project.org/qt5/5.0.0/qt-linux-opensource-5.0.0-x86-offline.run
mv qt-linux-opensource-5.0.0-x86-offline.run qt5-installer.run
然后使其可执行:
chmod +x qt5-installer.run
现在以 root 身份运行它以便将其安装到 /opt:
sudo ./qt5-installer.run
按照提示操作,当系统询问安装位置时,请选择 /opt/QtSDK。从现在开始,我将假设您已将其安装到该位置,如果您已将 Qt 安装到其他位置,请调整步骤以反映您的安装。
安装后,我建议您删除 QtCreator 配置文件夹,因为权限错误。QtCreator 将在重新启动时重新创建它们。
cd ~/.config
sudo rm -rf QtProject
现在对于 Qt Ubuntu 组件,下载源文件并解压:
wget https://launchpad.net/~ui-toolkit/+archive/ppa/+files/qt-components-ubuntu_0.1.24%7Equantal1.tar.gz
tar -zxvf qt-components-ubuntu_0.1.24~quantal1.tar.gz
现在,为了编译和安装组件,我们需要创建一些 sim 链接。
对于 Ubuntu 64 位运行:
sudo ln -s /opt/QtSDK/5.0.0/gcc_x64 /opt/qt5
对于 Ubuntu 32 位,运行:
sudo ln -s /opt/QtSDK/5.0.0/gcc /opt/qt5
在编译和安装之前还有一件事,我们需要更改两个环境变量,PATH 和 QML_IMPORT_PATH:
export PATH=$PATH:/opt/qt5/bin
export QML_IMPORT_PATH=/opt/qt5/imports
echo 'export PATH=$PATH:/opt/qt5/bin' >> ~/.bashrc
echo 'export QML_IMPORT_PATH=/opt/qt5/imports' >> ~/.bashrc
现在我们需要生成一个 Makefile 并构建 Qt Ubuntu 组件:
cd ~/trunk
qmake ubuntu-sdk.pro
make
sudo make install
如果一切顺利,组件应该已经构建并安装完毕,现在我们需要尝试一下以确保一切正常。我建议您在执行下一步之前先注销并重新登录。
- 打开 QtCreator,转到工具->选项,选择外部工具选项卡。
- 对于 Qt Quick 1 Preview (qmlviewer),在可执行文件字段中写入:/opt/qt5/bin/qmlviewer
- 对于 Qt Quick 2 Preview (qmlscene),在可执行文件字段中写入:/opt/qt5/bin/qmlscene。
- 单击“应用”并关闭“选项”窗口。
现在一切都应该正常工作,需要记住的一件事是,为了成功执行 QML Ubuntu 手机应用程序,在 .qmlproject 文件中,您需要取消注释 importPaths 并添加“/opt/qt5/imports”,如下所示:
Project {
...
/* List of plugin directories passed to QML runtime */
importPaths: [ "/opt/qt5/imports" ]
...
}
就是这样。如有任何问题,请发表评论,我会尽力回复您。玩得开心!
答案2
感谢 kicsyromy 的反馈。我刚好按照以下步骤解决了“导入 QtQuick 2.0”以及在我的安装中执行和测试 Ubuntu 组件时出现的其他问题。
在任何权限目录下解压 Ubuntu 组件(
qt-components-ubuntu_0.1.24~quantal1.tar.gz
),你将得到这样的 trunk 目录/home/<user>/UbuntuQt/trunk/
尝试覆盖主干目录的权限(有时我碰巧看到权限被拒绝的错误):
sudo chown <user-name> -R trunk/
将您的 QML_IMPORT_PATH 设置为您的
/home/<user>/UbuntuQt/trunk/modules
尝试使用
ubuntu-sdk.pro
以下命令执行组件演示:/opt/qt5/bin/qmake -o Makefile ubuntu-sdk.pro qmlscene --fullscreen -I modules demos/PhoneComponentShowcase.qml
或者
qmlscene -I modules demos/ComponentShowcase.qml
要测试单位转换器,请创建qmlproject.用户在
/trunk/examples/
/opt/qt5/bin/qmake -o Makefile examples.pro qmlscene -I ../../modules unit-converter/converter.qml
答案3
更简单的方法是添加来自https://launchpad.net/~canonical-qt5-edgers/+archive/qt5-proper到 sources.list。之后
sudo apt-get update
然后按照安装命令操作应该就可以解决问题。