我想通过 CMake 构建需要 Qt5 的应用程序。
我必须安装哪些库才能实现这一点?
到目前为止,我尝试搜索包含 qt 5 core 和 dev 的任何内容,但一无所获:
apt-cache search qt | grep dev | grep core
仅返回
libtulip-dev - Tulip graph library - core development files
唯一看起来可以半安装的是“libqt5core5a”,但安装它并不提供任何开发库……
我需要其他存储库吗?也许来自 Kubuntu 的存储库?
搜索网络也没有给我任何合适的答案(我知道可能不是正确的关键词,但是 :o)。例如,我发现了这个问题:构建 Qt 5 和 CMake 应用程序需要什么包?,但可信存储库中似乎没有 qtcore5-dev 包……
编辑:经过进一步的试验,我确实安装了 qmake,但安装的是 4.8.6 版本 (qt4-qmake)。但是尝试安装 5.x 版本却没有成功 - ( sudo apt-get purge qt4-qmake && sudo apt-get install qt5-qmake
) - qmake 现在报告:
qmake: could not exec '/usr/lib/x86_64-linux-gnu/qt4/bin/qmake': No such file or directory
这里的存储库中有什么损坏吗?
答案1
似乎
> apt-file search Qt5CoreConfig.cmake
是我所缺少的。这让我
qtbase5-dev: /usr/lib/x86_64-linux-gnu/cmake/Qt5Core/Qt5CoreConfig.cmake
安装似乎会导致 CMake 找到 Qt5。但是直接调用 qmake 时仍然会报告同样的问题...似乎仍然安装了 qt4 的一些残余...
编辑:至于 qmake 问题,已通过以下方式修复
sudo apt-get install qt5-default
答案2
1)您的 qtchooser 配置文件在哪里?
$:定位 qtchooser | grep conf
2) 从 conf 文件列表中,可能有一个文件名为“default.conf”,它是指向其他文件(4.conf 或 qt4.conf 或 5.conf 或 qt5.conf)的链接。选择您认为合适的文件,然后创建指向它的链接。
假设你的默认文件路径是
/usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf
创建备份:$: cd $(dirname /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf) $: cp -av default.conf default.conf_backup
假设您的目标是 /usr/lib/x86_64-linux-gnu/qtchooser/qt5.conf
然后:$: sudo ln -s /usr/lib/x86_64-linux-gnu/qtchooser/qt5.conf default.conf
3)你的qmake的路径正确吗?
检查 qmake 位置 $:locate qmake | grep bin
是否与您修改后的 qtchooser/default.conf 中所示的相同?$: cat /usr/lib/x86_64-linux-gnu/qtchooser/qt5.conf
如果答案是肯定的,那么你就完成了。如果答案是否定的,那么你需要修改文件:
创建备份:
$: cd $(dirname /usr/lib/x86_64-linux-gnu/qtchooser/qt5.conf)
$: cp -av qt5.conf qt5.conf_backup
编辑文件并将路径更改为你的 qmake 位置
$ sudo vi qt5.conf
现在完成了。