我正在尝试构建依赖于 Qt 的 cpp 项目。我已将 Qt 安装在文件夹 opt 中。
Qt 主目录是:/opt/Qt/5.9.9/gcc_64
qmake 可执行文件位于以下目录中:/opt/Qt/5.9.9/gcc_64/bin
当我运行该命令make clean
或make install
它失败并出现以下错误时:
/usr/lib/qt5/bin/qmake -o Makefile cloudscrape.pro
Project ERROR: Unknown module(s) in QT: core gui core-private gui-private platformcompositor_support-private fontdatabase_support-private eventdispatcher_support-private theme_support-private
make: *** [Makefile:245: Makefile] Error 3
当我运行该命令时qmake -v
,它显示以下结果:
QMake version 3.1
Using Qt version 5.12.8 in /usr/lib/x86_64-linux-gnu
很奇怪,错误中的 qmake 路径是/usr/lib/qt5/bin/qmake
。我尝试qmake
通过执行以下操作来更改目录路径:
- 我已经检查了
PATH
变量,它指向了正确的 QT。以下是的值PATH
:
PATH=/home/rando/.pyenv/shims:/home/rando/.pyenv/bin:/home/rando/.nvm/versions/node/v9.6.1/bin:/home/rando/.sdkman/candidates/maven/current/bin:/home/rando/.sdkman/candidates/java/current/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/Qt/5.9.9/gcc_64/bin
- 修改了 qtchooser 配置文件,在此 qmake 指向正确目录后,我通过运行以下命令进行确认:
QMake version 3.1
Using Qt version 5.9.9 in /opt/Qt/5.9.9/gcc_64/lib
但问题仍然存在,因为当我运行make clean
或make install
它使用了错误的目录:
/usr/lib/qt5/bin/qmake -o Makefile cloudscrape.pro
Project ERROR: Unknown module(s) in QT: core gui core-private gui-private platformcompositor_support-private fontdatabase_support-private eventdispatcher_support-private theme_support-private
make: *** [Makefile:245: Makefile] Error 3
答案1
我可以通过重启机器来解决这个问题。我认为问题出在缓存配置上,启动新会话有助于解决这个问题。
- 修改qtchooser配置文件
- 使用命令查找配置文件:
locate qtchooser | grep conf
- 使用你喜欢的编辑器进行修改:
sudo gedit ${path}/qtchooser/qt5.conf
如下所示:
- 使用命令查找配置文件:
/opt/Qt/5.9.9/gcc_64/lib
/opt/Qt/5.9.9/gcc_64
- 开始新会话