无法安装 qt-components-ubuntu,因为我正在使用 QT 5.0.0 的完整版本

无法安装 qt-components-ubuntu,因为我正在使用 QT 5.0.0 的完整版本

看来,由于我没有从 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 

然后按照安装命令操作应该就可以解决问题。

相关内容