如何同时安装 qt5-qmake 和 qt4-qmake

Pet*_*etr 10 ppa qt

默认的 LTS 12.04 存储库上没有 qt5-qmake,所以我使用的是来自 ubuntu-sdk-team 的 ppa ppa:ubuntu-sdk-team/ppa

然而,从这个月或上个月开始,它对我不起作用。现在,当我尝试同时安装 qt5-qmake qt4-qmake 时,我遇到了一些无法解决的依赖冲突。

有没有办法简单地安装两者?

ken*_*enn 11

尽管有人说 qtchooser 有效但它不起作用,但我找不到可靠的方法。我的解决方法是首先安装qt4然后安装qt5,要恢复到qt4,只需删除qt5-default,它将使用qt4。要切换回qt5只安装qt5-default. 这是一个低于 500kb 的小 deb 包。

编辑:当您尝试删除 qt5-default 时,它将自动安装 qt4-default

EDIT2:我昨天做了什么使用最新版本的qmake,我从http://download.qt-project.org/official_releases/qt/5.2/5.2.1/qt-opensource-linux-x86-下载了32位离线安装程序- 5.2.1.run然后设置可执行标志并将其安装到/home/$USER/Qt5.2.1,它不会将其安装到系统路径中。要使用 qmake 创建 makefile,您需要指定/home/$USER/Qt5.2.1/5.2.1/gcc/bin/qmake -Wall ../project.pro对我有用的路径

EDIT3:我找到了一种使用环境变量在qt4qt5之间切换的更简单的方法

切换到qt4

 export QTCHOOSER_RUNTOOL=qtconfig
 export QT_SELECT=4
Run Code Online (Sandbox Code Playgroud)

编辑4:

随着我对编程的经验丰富,我遇到了更简单的解决方案。

您根本不需要在QT4 <-> QT5之间切换。

从 Ubuntu 存储库安装QT4QT5包,然后找到 qmake

locate qmake 
Run Code Online (Sandbox Code Playgroud)

我正在运行 Ubuntu 14.04.3 32 位,所以我的 qmake 路径是:

/usr/lib/i386-linux-gnu/qt4/bin/qmake
/usr/lib/i386-linux-gnu/qt5/bin/qmake
Run Code Online (Sandbox Code Playgroud)

构建项目所能做的就是运行

对于 qt4:

/usr/lib/i386-linux-gnu/qt4/bin/qmake
Run Code Online (Sandbox Code Playgroud)

或对于 qt5:

/usr/lib/i386-linux-gnu/qt5/bin/qmake
Run Code Online (Sandbox Code Playgroud)

在 project*.pro 文件所在的源目录中。

然后用make命令编译它。