使qmake默认使用qt5

nik*_*iko 8 qt qmake qt4 qt5

我的Linux系统上有qt4和qt5.默认使用qt4.什么是改变它的干净方法,以便qmake默认使用qmake-qt5?

Kev*_*mer 13

系统可能具有处理默认值的不同元数据包.例如在Debian上有一个qt4-default和一个qt5-default包,安装其中一个将卸载另一个并适当地设置符号链接


Wan*_*ang 11

第 0 步:在您的系统中安装 qtchooser。

$sudo apt-get install qtchooser
Run Code Online (Sandbox Code Playgroud)

第 1 步:在您的系统中找到您的 qtchooser 配置文件。

$ locate qtchooser | grep conf

/usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf
/usr/lib/x86_64-linux-gnu/qtchooser/4.conf
/usr/lib/x86_64-linux-gnu/qtchooser/5.conf
/usr/lib/x86_64-linux-gnu/qtchooser/qt4.conf
/usr/lib/x86_64-linux-gnu/qtchooser/qt5.conf
Run Code Online (Sandbox Code Playgroud)

命令结果可能与您的不同。这些 x.conf 文件代表 qtchooser 可以在您的系统中识别的所有 qt 版本。每个 x.conf 文件都是指向已安装的 qt 配置文件的符号链接。修改 default.conf 可以配置您期望的默认 qt 版本。

第 2 步:找出符号链接文件 default.conf 链接到的文件位置。

$ls -l /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf
lrwxrwxrwx 1 root root 53 x xx xxx /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf -> ../../../share/qtchooser/qt4-x86_64-lnux-gnu.conf
Run Code Online (Sandbox Code Playgroud)

第 3 步:创建您的 qt 版本 conf 文件

步骤 2 的结果显示了所有 qt 版本 conf 文件的位置:/usr/share/qtchooser。您只需在此路径中创建一个指定您的 qt 版本的 conf 文件。例如,我的 qt 安装在/opt/Qt5.13.1/并且我想将此 qt 版本设置为我系统中的默认版本。我们可以创建一个名为qt5.13.1.conf的文件。

$cd /usr/share/qtchooser
$sudo vi qt5.13.1.conf
Run Code Online (Sandbox Code Playgroud)

并填写以下两行:第一行表示qmake位置,另一行表示库路径。

/opt/Qt5.13.1/5.13.1/gcc_64/bin
/opt/Qt5.13.1/5.13.1/gcc_64/lib
Run Code Online (Sandbox Code Playgroud)

第 4 步:将您的 qt 设置为默认值。

只需将 default.conf 符号链接修改为在步骤 3 中创建的 qt conf 文件。

$cd /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/
$sudo ln -snf ../../../share/qtchooser/qt5.13.1.conf default.conf
Run Code Online (Sandbox Code Playgroud)

完成这些步骤后,默认的 qt 已配置,您可以键入以下命令进行测试,它应该是您的 qt 作为默认值。

$qmake -v
Run Code Online (Sandbox Code Playgroud)


tal*_*aki 7

有一个名为qtchooser的工具可以在Qt版本之间切换.在Debian和Ubuntu上你可以安装它apt-get install qtchooser.

最简单的方法是使用它列出备选方案,然后创建QT_SELECT环境变量.

$ qtchooser -list-versions
4
5
default
opt-qt55
qt4-i386-linux-gnu
qt4
qt5-i386-linux-gnu
qt5
Run Code Online (Sandbox Code Playgroud)

然后创建QT_SELECT环境变量并设置eg export QT_SELECT=4export QT_SELECT=5.