解决QT单独添加ui文件后cpp文件的报错问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决QT单独添加ui文件后cpp文件的报错问题相关的知识,希望对你有一定的参考价值。
参考技术A 本博客内容如题:
当创建c++ class文件(同时加入了.h文件)后,
再单独创建同名qt designer form(.ui)后,
即使添加ui对应的头文件(#include "ui_test.h")(这种情况有个特点:添加此ui文件不会有任何输入补全提示)
相应的.cpp文件中总会报错:
曾参照此篇博客 https://blog.csdn.net/rjc_lihui/article/details/88397009
尝试解决,发现并没用。
总之就是里外不是人,谁用谁知道。
解决方法 :
同时新建.h .cpp .ui三种文件 方法:addNew时选择 Qt-> Qt设计师界面类
无法解析的外部符号 LNK错误总结
错误分析:
这是在链接过程中的报错,之所以在这里报错,而没有在编译过程中报错,说明包含报错方法的.h文件已经被包含了,但对应的cpp文件或者库文件链接器没有找到,所以它就很委屈地报了这个错误.
那会有哪些可能的原因导致这个问题呢?
1.缺少对应的cpp文件(比如下图中,在main.cpp中,添加了.h文件,但是项目中没有对应的函数的实现文件.一开始我对LNK报错很抵触,因为它的报错信息看着太难受了.后来发现只需要看几个关键信息就可以了:是哪个obj文件下的,报错的函数名是什么)
2.缺少对应lib文件
2.1 lib文件压根就没有添加或者路径错误(看下VS中的库目录有没有添加,或者在代码中搜索"#pragma comment(lib, )")
2.2 lib文件的版本对应不上 (这个有时候很难想到,比如当时用windbg的lib,VS里的环境是32位,自己没想太多把64位的lib路径添加进去)
以上是关于解决QT单独添加ui文件后cpp文件的报错问题的主要内容,如果未能解决你的问题,请参考以下文章