Qt 报错:moc_mainwindow.obj
.obj:error:无法解析的外部符号 ":void:@@@):enum:Call:查资料后发现网上解释说有几种出错原因,项目路径中出现了中文?之前的qmake文件有问题:给添加了不该加的功能:项目中声明了一些变量,查阅相关资料发现有以下几种解决方式:1.删除.cpp文件,2.找到QT安装目录bin文件夹下的moc.exe软件:在命令行窗口中打开moc.exe软件;
最近刚开始接触Qt,在写程序的时候报了错,如图:
.obj:-1: error: : 无法解析的外部符号 ": void ::(void)" (?@@@),该符号在函数 ": void ::(class *,enum ::Call,int,void * *)" (?@@@@@@@@@Z) 中被引用
查资料后发现网上解释说有几种出错原因:
一:项目路径中出现了中文。
二:之前的qmake文件有问题,Qt重构的时候,给添加了不该加的功能。
三:项目中声明了一些变量,指针等但没有被使用。
查阅相关资料发现有以下几种解决方式:
方案一(该方案没有尝试过):
1.删除.cpp文件;
2.找到QT安装目录bin文件夹下的moc.exe软件;
3.打开命令行cmd窗口,在命令行窗口中打开moc.exe软件;
4.>C:\Qt\Qt5.9.2\5.9.2\\bin\moc.exe “C:\Users\\\Demo\.h” -o “C:\Users\\\Demo\.cpp”
回车即可生成.cpp文件。
5.在 Files下添加.cpp,重新编译,问题解决。