Qt使用过程中,遇到error及解决方法总结
问题1
解决QT无法调试问题-----the cdb process terminated
如果只在计算机上安装了VS2015,那么下图所示的MSVC2015的编译器图标会是一个黄色的感叹号,,Debuggers页面没有Windows的CDB调试器,此时可以用MSVC编译器对Qt Creator编写的程序进行编译,但是不能调试,这是因为缺少了Windows Software Development Kit(sdk)。这个SDK不会随VS2015一同安装,需要从Microsoft网站上下载。安装后重启计算机。
win10 SDK下载地址:developer.microsoft.com/zh-cn/windo…
各种版本sdk下载地址:developer.microsoft.com/zh-cn/windo…
下载后安装时,前面都默认,直到下图,只选择Debugging Tools for Windows即可:
问题2
Project ERROR: Unknown module(s) in QT: webenginewidgets
opencv_world300d.lib(alloc.obj):-1: error: LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MTd_StaticDebug”不匹配值“MDd_DynamicDebug”(Kernel.obj 中)
这是因为动态编译与静态编译不匹配造成的
QMAKE_CFLAGS_DEBUG += -MTd
QMAKE_CXXFLAGS_DEBUG += -MTd
未找到 PDB“vc120.pdb”(使用“libwebpd.lib(config.obj)”;正在链接对象,如同没有调试信息一样
问题3
:-1: error: File Makefile.Debug doesn‘t exist.
原因:.pro中使用子目录使用工程时,TEMPLATE = subdirs,写成了SUBDIRS,导致以上错误;所以要根据提示去查找错误,必要时去查看makefile文件,发现确实不一样
问题4:
报错信息
ElectricityThread.obj:-1: error: LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject const * __thiscall ElectricityThread::metaObject(void)const " (?metaObject@ElectricityThread@@UBEPBUQMetaObject@@XZ)
原因:.pro工程文件中导入时只导入了.cpp文件,没有导入对应的.h文件导致错误;
- 点赞
- 收藏
- 关注作者
评论(0)