Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 将Qt4移植到Qt5:未解析的外部符号_C++_Qt_Linker_Porting_Qt5 - Fatal编程技术网

C++ 将Qt4移植到Qt5:未解析的外部符号

C++ 将Qt4移植到Qt5:未解析的外部符号,c++,qt,linker,porting,qt5,C++,Qt,Linker,Porting,Qt5,Qt5是Qt的新一代,它有一些变化 我有一个项目建设以及Qt4。我已经下载了Qt5-VisualStudio2010软件包,我正在尝试将我的项目从Qt4移植到Qt5。问题出现了 所有“包含”路径都已修复良好。但是,编译器现在报告了数百个“未解析的外部符号”(几乎所有函数调用,听起来编译器都找不到任何.lib文件)。我甚至尝试添加在Qt SDK文件夹中找到的所有.lib文件,但没有用。最基本的类和方法:QApplication::exec(…)也报告为“未解析的符号” 项目文件已更改为适合Qt5打

Qt5是Qt的新一代,它有一些变化

我有一个项目建设以及Qt4。我已经下载了Qt5-VisualStudio2010软件包,我正在尝试将我的项目从Qt4移植到Qt5。问题出现了

所有“包含”路径都已修复良好。但是,编译器现在报告了数百个“未解析的外部符号”(几乎所有函数调用,听起来编译器都找不到任何.lib文件)。我甚至尝试添加在Qt SDK文件夹中找到的所有.lib文件,但没有用。最基本的类和方法:QApplication::exec(…)也报告为“未解析的符号”

项目文件已更改为适合Qt5打包:

myproject.pro file:
QT += widgets

有没有人对这个新版本的Qt有过类似的体验?

我怀疑你不是唯一一个有这个问题的人。你看过了吗?它讨论了qt/base/bin中名为:fixqt4headers.pl的PERL脚本。这是为了修复标题。我注意到另一个链接可能会有帮助,如果这不能解决你的问题,试试看,它看起来是经过深思熟虑的。而且,我没有试过。我实际上还没有升级到Qt5。干杯

来自《qt_新手89》():

我“意外地”解决了这个问题。我右键点击了 项目窗口中的项目文件夹,然后选择qmake。之后, 选择Run,所有错误都消失了。我不知道为什么会这样 顺便说一下

从‘ChrisW67’():

Makefile文件没有“损坏”:它与您的完全相同 左键,充满了适用于上一个Qt4的命令和路径 安装。当Qt创建者运行nmake来构建项目时,nmake做到了 不会自动重新运行qmake以生成Makefile,因为 (未触及)Makefile比生成它的pro文件更新。 这是正常和正确的make行为,但它导致了 暂停中的Qt5与预期的Qt4安装不匹配

我的话说:
是的,这真的解决了链接问题!问题实际上是,当使用Qt4创建项目时,“make”文件也与项目一起创建。当我删除Qt4、安装Qt5并由Qt5(使用新的Qt Creator)导入旧项目时,“make”文件可能已损坏。

这也发生在我身上,我做了如下操作

  • 额外链接的Qt5Widgetsd.lib
  • 将Project属性“对待WaCuxt作为BuIin”改为true(C++ +语言部分)。