【发布时间】:2016-08-09 13:46:43
【问题描述】:
我有以下设置(使用 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,您都至少有 3 个文件夹:source、build 和 install。