CMake不知道Qt4 qmake在哪里
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CMake不知道Qt4 qmake在哪里相关的知识,希望对你有一定的参考价值。
我正在使用Debian OS,我试图指向cmake我的Qt4在哪里。
我尝试构建qjson库,并使用其CMakeLists.txt:http://pastebin.com/fKNp0Qgy
我明白了:
Qt5 not found, searching for Qt4
qmake: could not exec '/usr/lib/x86_64-linux-gnu/qt4/bin/qmake': No such file or directory
CMake Error at /usr/share/cmake-2.8/Modules/FindQt4.cmake:1386 (message):
Found unsuitable Qt version "" from NOTFOUND, this code requires Qt 4.x
Call Stack (most recent call first):
CMakeLists.txt:55 (FIND_PACKAGE)
-- Configuring incomplete, errors occurred!
我不熟悉CMake和Qt配置,但我很好奇是什么设置强制CMake FIND_PACKAGE来查看qmake的'/ usr / lib / x86_64-linux-gnu / qt4 / bin / qmake'。我从源代码安装了Qt 4.8.5,并且在完全不同的目录中有Qt4 bin文件夹。
试试“sudo apt-get install qt-sdk”它对我有用
我解决了我的问题。
使用grep
命令查找QT_SELECT我发现QT_SELECT与/usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf
文件有关。从“默认”文件名,我假设它被视为QT_SELECT。 qtchooser -l
提供的其他配置文件位于/usr/share/qtchooser/
和/usr/lib/x86_64-linux-gnu/qtchooser
目录中。
这样的配置文件有两条带路径的行。我只是更改了这些行,首先指向我的Qt bin目录,然后指向我的Qt lib目录。然后我可以看到qtchooser -print-env
向我的Qt显示QTTOOLDIR
和QTLIBDIR
。
然后我可以用CMake轻松构建qjson库,找到了正确的Qt4。
根据我的经验,通过将包含qmake的文件夹放在PATH环境变量中,可以最轻松地解决此问题。
这是答案
https://askubuntu.com/questions/540746/ubuntu-14-04-qt5-development-libraries/540757#540757
似乎
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
在我的情况下,只是qtchooser缺少“默认”配置。我认为cmake正在执行qtchooser并寻找“默认”配置文件名。您可以通过执行以下操作来安装任何配置文件:
qtchooser -install <arbitrary_name> <path_to_qmake>
在我的情况下,我只是提供“默认”作为任意名称...这在适当的位置创建了default.conf文件,一切都很好。我不认为你有多少个命名版本的qt是有限制的。如果以root用户身份执行此操作,则应该适用于所有用户。
最简单的解决方案是在gem希望找到它的目录中添加一个链接。在Ubuntu 14.04上,qmake位于/ usr / bin中。简单解决方案
在我的旧RHEL发行版中,这对我来说:
sudo yum install qt-devel.x86_64
只有qt-base不适用于cmake。
1)你的qtchooser配置文件在哪里?
$: locate qtchooser | grep conf
2)从conf文件列表中,可能有一个调用“default.conf”这个是一个链接到其他一个(4.conf或qt4.conf或5.conf或qt5.conf)。选择一个对你有意义的,并创建一个链接。
假设您的默认文件路径是
/US人/礼拜/小86_64-Linux-弓弩/其他-default/其他chooser/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
现在应该这样做。
以上是关于CMake不知道Qt4 qmake在哪里的主要内容,如果未能解决你的问题,请参考以下文章