2

我已经用 qmake (qmake -project; qmake; nmake) 编译了项目。当我打开文件 .pro,重新加载项目时,出现以下错误:

“debug\moc_Rls.cpp”项已存在于过滤器“Generated Files”下

当我打开解决方案时,现在无法成为项目的一部分。

明显的问题:怎么办?

4

3 回答 3

6

哦,对不起,我以为你在 Linux 上是我的错误。

请按照以下步骤操作:

1.打开[Project_Name].vcxproj.filters项目目录下的文件。

2.查看以下几行(我正在粘贴我的)

  <ItemGroup>
    <ClCompile Include="Main.c">
      <Filter>Source Files</Filter>
    </ClCompile>
    <ClCompile Include="FunctBank.c">
      <Filter>Source Files</Filter>
    </ClCompile>
  </ItemGroup>
  <ItemGroup>
    <ClInclude Include="funcDef.h">
      <Filter>Header Files</Filter>
    </ClInclude>
  </ItemGroup>

3.在这里您将看到debug\moc_Rls.cpp在两个过滤器下定义了两次。

4.我能猜到的其中一个是

<ClInclude Include="debug\moc_Rls.cpp">
  <Filter>Generated Files</Filter>
</ClInclude>

而另一个你必须自己检测。

找到删除该过滤器后,您的项目将顺利运行。

于 2012-08-08T11:09:11.123 回答
1

这是一个老问题,但我刚刚遇到了这个问题,所以我分享了解决方案。我曾使用 QTCreator 在另一个子文件夹中创建表单类。这样做时,“重复”文件已添加到 qrc 文件中,出于某种原因,QTCreator 将其视为项目文件。从 qrc 中删除条目修复了它。

于 2014-07-24T20:16:36.047 回答
0

我最近遇到了这个问题。即使使用 VS19。从过滤器中删除重复项并没有解决我的问题。因此,要解决它,您还需要从 .vcxproj 文件中删除它。

概括:

  • - 从 Yourfancyproject.vcxproj 中删除重复项。
  • - 从 Yourfancyproject.vcxproj.filters 中删除重复项

然后问题应该得到解决。

于 2020-01-16T13:21:57.917 回答