qmake 在哪里寻找 pri 文件?

Where does qmake look for pri files?

我有以下设置(使用 qt 5.6.1-1):

qtbase/bin
...
qtbase/mkspecs
...
qtdeclarative/mkspecs

尝试构建 qtquickcontrols 时出现以下错误:

qmake
make
Some of the required modules (qtHaveModule(quick)) are not available.
Skipped.

我认为这是因为 qmake 只在 qtbase/mkspecs 中寻找 .pri 文件。是否有环境变量来设置 mkspecs 搜索路径?

我尝试设置 QMAKESPEC、QT_PLUGIN_PATH 和 INCLUDEPATH,但无法通过错误消息。

构建过程:

tar -xf qtbase-opensource-src-5.6.1.tar.xz && cd
./configure -prefix=qtbase/prefix
make
make install

tar -xf qtdeclarative-opensource-src-5.6.1.tar.xz && cd
qmake PREFIX=qtdeclarative/prefix
make install

因写入错误而失败 qtbase/prefix(构建用户不可写入)

sed -i s#INSTALL_ROOT)/qtbase/prefix#INSTALL_ROOT)/qtdeclarative/prefix
make install

tar -xf qtquickcontrols-opensource-src-5.6.1.tar.xz && cd
qmake PREFIX=qtquickcontrols/prefix
make install

失败 一些必需的模块 (qtHaveModule(quick)) 不可用。 已跳过。

如果您正确安装了 Qt,这将不是问题。确保:

  1. 您已编译所有模块。

  2. 您还没有移动您的 Qt 构建:它具有硬编码路径,一旦构建就无法移动。

如果您还没有在自己的构建文件夹中构建 Qt,您还应该更喜欢它。