• 4619阅读
  • 3回复

关于QT4的程序在QT5下的编译问题 [复制链接]

上一主题 下一主题
离线wuleeemail
 

只看楼主 倒序阅读 楼主  发表于: 2014-09-08
我有一个QT4下的程序很长时间没有过问了,最近安装了QT5.2,想在这个环境下跑一次,结果让我大为失望。在网上搜寻很久才知是QT4和QT5下特别是在GUI方面有一定的变动,于是按照相关资料进行修改,但还是不行,现将其贴出准备和知情者沟通一下,能否给我一点帮助?
1)我在.pro文件中加入了QT += widgets
2)将原来的#include <QtGui>改为了#include<QtWidgets/QtWidgets>,注意:按照标准这里应该改为#include<QtWidgets>,但是要是我这样改的话,在编译的时候会说没有如此的文件或者目录,这是很奇怪的地方。
3)在这种模式下进行编译,会报出很多错误,当然这些错误都是一类的,就是“无法解析的外部符号”,一大堆。
我知道这是由于在编译的时候没有找到那些GUI定义文件所致,只是这个问题怎么解决呢?
离线wuleeemail

只看该作者 1楼 发表于: 2014-09-08
那些编译错误提示是:
error: LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: void __cdecl QWidget::setWindowTitle(class QString const &)" (__imp_?setWindowTitle@QWidget@@QEAAXAEBVQString@@@Z),该符号在函数 "public: __cdecl UdpServer::UdpServer(class QWidget *,class QFlags<enum Qt::WindowType>)" (??0UdpServer@@QEAA@PEAVQWidget@@V?$QFlags@W4WindowType@Qt@@@@@Z) 中被引用

总共有一百多个编译错误,但性质都一样的。
本帖提到的人: @qwidget
离线bran_lee

只看该作者 2楼 发表于: 2014-09-09
这些应该是环境设置不对引起的吧
当你只有锤子时,你看什么都像是钉子!
离线stlcours

只看该作者 3楼 发表于: 2014-09-09
装QT4.86不就行了,而且还是经典版本,何必费脑筋。
快速回复
限100 字节
 
上一个 下一个