Qt 报错:moc_mainwindow.obj

综合网编2023-07-31 13:401730
.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,重新编译,问题解决。

评论区