Qt5是新一代Qt,它有一些变化。
我有一个很好的Qt4项目。我已经下载了Qt5-VisualStudio2010软件包,我正试图将我的项目从Qt4移植到Qt5。问题出现了。
所有'包含'路径都已修好。但是,编译器现在报告数百个'未解析的外部符号'(几乎所有函数调用,听起来像编译器找不到任何.lib文件)。我甚至尝试添加Qt SDK文件夹中找到的所有.lib文件,但没用。最基本的类和方法:QApplication :: exec(...)也报告为“未解析的符号”。
项目文件已更改为适合Qt5包装:
myproject.pro file:
QT += widgets
任何人都有这种新版Qt的相似经验吗?
答案 0 :(得分:3)
来自'qt_newbie89'(http://qt-project.org/forums/viewthread/23200):
我“意外”解决了这个问题。我右键点了 在Project窗口中选择项目文件夹并选择qmake。之后, 选择“运行”,所有错误消失。我不知道为什么会这样 顺便说一句。
来自'ChrisW67'(http://qt-project.org/forums/viewthread/23253/):
Makefile文件没有“损坏”:它就像你一样 离开它,充满了适合以前的Qt 4的命令和路径 安装。当Qt Creator运行nmake来构建nmake的项目时 不会自动重新运行qmake来生成Makefile因为 (未触动)Makefile比生成它的pro文件更新。 这是正常和正确的行为,但它导致了一个 您的Qt5在停止和预期的Qt4安装之间不匹配。
我的说法: 是的,这真的解决了链接问题!问题实际上是,当使用Qt4创建项目时,'make'文件也与项目一起很好地创建。当我删除Qt4,安装Qt5并通过Qt5导入旧项目(使用新的Qt Creator)时,'make'文件可能已损坏。
答案 1 :(得分:1)
我怀疑你不会是唯一一个遇到这个问题的人。你看过this了吗?它讨论了qt / base / bin中的PERL脚本:fixqt4headers.pl。这旨在修复标头。我注意到另一个链接可能有帮助,如果这不能解决你,请尝试this,它看起来相当经过深思熟虑。而且,不,我没有尝试过。我还没有升级到Qt 5。干杯!
答案 2 :(得分:1)
这也发生在我身上,我确实跟随了。