2012-08-08 200 views
1

我用qmake編譯了項目(qmake -project; qmake; nmake)。 當我打開的文件的.pro,重新加載項目,我得到了以下錯誤:當我打開解決方案無法打開編譯的項目

The item "debug\moc_Rls.cpp" already exists under the filter "Generated Files"

項目,是soultion的一部分,現在是unavailiable。

該提出的問題:該怎麼辦?

+0

切割和移動moc_Rls.cpp看是否錯誤依然存在;) – perilbrain 2012-08-08 10:41:19

+0

我刪除moc_Rls.cpp,錯誤仍然 – 2012-08-08 10:47:29

+0

,看看哪一個是配置文件,大概的.pro。看來這樣的文件已經兩歲以下定義過濾器,將其從其中一箇中刪除。 – perilbrain 2012-08-08 10:50:23

回答

3

噢對不起,我的錯誤,我以爲你在Linux上。

遵循以下步驟: -

打開[PROJECT_NAME] .vcxproj.filters項目目錄下的文件。

請參閱以下行(我貼我的)

<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> 

在這裏你會看到debug\moc_Rls.cpp下兩個過濾器定義了兩次。

其中一人我能猜到是

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

和你有另外一個檢測自己。 找到刪除該過濾器後,您的項目將順利運行。

+0

謝謝你的信息。我已經完成了你的建議,但項目不能繼續打開。我使用git,所以對於我來說,回滾要比將這個問題排序出來容易得多。在這裏,我發佈了這個問題,因爲這種類型的錯誤「不能打開項目」出現在第二次。 – 2012-08-08 12:02:17

+0

是這個項目從互聯網下載????如果是的話,也許我可以幫助 – perilbrain 2012-08-08 12:05:12

+0

現在,這是我自己的項目,我從頭開始寫 – 2012-08-08 13:06:47

1

這是一個老問題,但我剛剛遇到這個問題,所以我分享瞭解決方案。 我曾使用QTCreator在另一個子文件夾中創建表單類。 爲此,「重複」文件已添加到qrc文件中,QTCreator出於某種原因將其視爲項目文件。從qrc中刪除條目修復了它。