将QT5项目移植VS2015工程的方案中,我目前体验过的最便捷的一条路线是:
1.利用QT5 Creator创建项目(不需要进行界面设计),得到XXX.h /XXX.cpp /XXX.ui (暂时不需要编译自动生成的ui_XXX.h);
2.复制以上文件到VS工程源码目录下,.ui与头文件目录相同,并进行CMAKE编译、项目生成(.ui文件也会自动加入工程,但无法编译);
3. 设置工程属性使.ui可以正常编译。
以下是过程中可能出现的问题:
1.第二步生成如下MSB307错误。会发现自动编译的ui_XXX.h包含路径由QT工程默认放到了.cpp文件里,将其移动到对应.h文件中,再次生成就会避免此错误。
2.ui文件无法编译
如果在VS中利用QT Designer修改界面设计,需要点击进入.ui文件,之后设计结束后保存、右键.ui文件选择“编译”,之后右键工程选择“重新扫描解决方案”。但刚移植后“编译”按钮是灰色的,这是因为没有为其设置输出选项。
此时右键.ui文件选择“属性”,将项类型选为“自定义生成工具”,然后如图依次添加下述四行命令:
"$(QTDIR)\bin\uic.exe" -o ".\PMIAngioIntraFusion3D_ut_autogen\include_Release\ui_%(Filename).h" "%(FullPath)"
Uic%27ing %(Identity)...
.\PMIAngioIntraFusion3D_ut_autogen\include_Release\ui_%(Filename).h;%(Outputs)
$(QTDIR)\bin\uic.exe;%(AdditionalInputs)
链接对象:是
文章来源:https://www.toymoban.com/news/detail-616468.html
之后.ui文件右键->编译;项目右键->重新扫描解决方案即可。文章来源地址https://www.toymoban.com/news/detail-616468.html
到了这里,关于QT5 creator创建项目移植VS2015时一些问题的解决方案(MSB307错误、.ui无法编译)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!