备注:
1、一开始从5.11升级到5.13没有记录完整的解决过程,这次升级到5.14完善了这些过程,本文章重新编辑存档
2、以下操作建立在卸载旧版,已经安装新版的前提下。
旧版本卸载到安装目录下,执行Maintenance Tool即可
问题
如题,本地的QT是5.11(更新过一次到5.13),之后再更新到5.14之后,重新编译项目,出现undefined reference to 'qt_version_tag'错误,下面紧跟着一堆的错误:
解决:
1、既然是qt_version_tag的问题,说明是qmake的版本不兼容导致,即当前QT使用的qmake和系统实质指定的qmake版本不一致。查看系统默认的qmake版本:
果真,系统默认的qmake仍然是5.13版本。那就把系统默认的qmake指向改回新装的5.14即可,即需要修改qtchooser中的defaulat.conf文件。注意default.conf文件在qt-default目录下的qtchooser目录中,其他地方也有qtchooser,不要找错地方。
打开default.conf,需要sudo权限;发现其内容如下,把13路径改成刚装的14的路径,注意这里写的是你自己安装的新版路径,并不一定是在opt目录里。
修改成如下,然后保存退出:
再查看版本信息,发现已经修改成功
2、然后再编译程序,发现还有一样的错误;难道QT的设置还有问题?查看QT的环境配置,已经是14了,配置没有问题。
既然不是QT的设置问题,那就只剩一个了,项目工程文件.pro的库文件设置有问题,经过检查发现,.pro里面有几个QT库文件路径没有改回来导致:
改成正确的路径即可:
注意这里添加QT库需要用到“外部库”的方式进行添加,如果用系统库的方式添加仍然还是有错的:
需要使用外部库的方式添加,如下:
到此,所有问题解决成功。为QT升级成6.0做准备。