最近使用VS2017+Qt5.9.4运行一个老版本Qt4.8.5的程序,带Ui。出现大量无法解析的外部符号错误,例如:无法解析的外部符号 "protected: virtual bool __cdecl QLabel::focusNextPrevChild(bool)" (?focusNextPrevChild@QLabel@@MEAA_N_N@Z)
已经尝试的解决方法,重新生成QT5.9.4的moc文件替换掉原来老的moc文件,加载进VS工程,重新生成解决方案,仍旧出现无法解析的命令,关于UI界面的所有类如QLabel,QWidgets,QRadioButton等均报错,无法解析的外部符号。
各种path路径均没有错误。使用Debug X64编译。
求助,怎么解决。
正好用过这两款qt,4.8和5.x的qt有很多地方是不一样的,包括接口声明甚至是头文件都有差别,你这样直接升级,肯定会有问题,建议你还是查询一下两个库的区别,针对性的改一下接口;
我们公司之前要把4.8的改成5.7也费了很大劲,这不是说什么技术问题,单纯就是两个库之间版本上存在差异造成的。