CMake不知道Qt4 qmake在哪里

我正在使用Debian操作系统,我试图指向cmake,我的Qt4在哪里。

我尝试构buildqjson库和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和Qtconfiguration,但是我很好奇为什么设置强制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”它适用于我

根据我的经验,通过将包含qmake的文件夹放入PATH环境变量中可以很容易地解决这个问题。

我解决了我的问题。

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库目录。 然后我可以看到qtchooser -print-env显示QTTOOLDIRQTLIBDIR到我的Qt。

然后我可以很容易地用CMake建立qjson库,Qt4被发现正确。

这是答案

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 

最简单的解决方案是在宝石预期找到它的目录中添加一个链接。 在Ubuntu 14.04上,qmake位于/ usr / bin中。 解决方案简单

在我的情况下,这只是qtchooser缺少“默认”配置。 我想cmake只是执行qtchooser并寻找一个“默认”的配置文件名。 您可以通过执行以下操作来安装任何配置文件:

 qtchooser -install <arbitrary_name> <path_to_qmake> 

在我的情况下,我只是提供“默认”作为任意名称…这在适当的位置创建了default.conf文件,一切都很好。 我不认为你有多少个有名的qt版本是有限制的。 如果你以root身份执行此操作,它应该适用于所有用户。

在我的旧RHEL发行版上,这对我来说是这样的:

 sudo yum install qt-devel.x86_64 

只是qt基地一个不会与cmake工作。