先说说问题起源。Qt一直以来按MSVC、OpenGL、CPU位数分别制作安装包,如果开发工作对它们都存在需要,那么得安装好几个安装包,安装包里面某些东西是相同的,对于磁盘空间不足的开发者来说这样的安装结果非常不友好。以Qt5.2.1版本为例,我把所有的Qt编译目录移动到一个文件夹下,如下图所示:
不过随后出现一个问题,Qt Creator创建项目的时候在Kits Version选择界面找不到Kit,命令行编译报错:Qt没有被正确安装,请运行make install问题的解决
。这下有点麻烦了。翻阅了Qt官方文档无数后,在看到bin目录里的qtpaths工具的说明文档后,解决办法就用了。原来这个问题Qt官方自己也考虑过,所以专门开发了一个这个工具。解决方法其它很简单:
- 运行
qtpaths --install-prefix <修改后的路径>
- 这个修改后的路径是bin文件夹所在目录
- 也是qtpaths可执行文件的父目录。
- 设置Qt Creator构建工具集
- 把Build/Run设置里面关于Qt Versions中旧的错误的全部删除。
- 手动添加Qt Versions。添加后如下图所示:
- 把Build/Run设置里面关于Kits中旧的错误的全部删除。
- 手动新增编译Kits,把旧的删除不掉的Kits作一个错误标记,如下图所示:
- 内置的不可删除的错误的旧的Kit选项在新建项目的时候不应该被勾选
- 如下图所示:
- 模板生成的项目的编译输出路径是错误的
- 手动修改后如下图所示:
- 编译运行。
- 需要注意的是Qt Creator给Qt应用设置的动态库路径是错误的,手动运行windeployqt部署一下,如下图所示:
最后说明:
- 最根本的解决办法是自行下载Qt的源代码,自行编译。
- Qt5.4.2版本是一个分界线,前后两个之间某些组件被彻底的修改了。Qt最新版本是5.9.2。Qt已经在5.9.X版本中把所有的事情都帮我们做好了。