2015-10-07 180 views
0

我在同一解決方案中包含來自另一個項目的文件 - 它在當前配置中都運行良好,但我添加了一個新方法,現在找不到任何包含文件。忽略項目「其他包含目錄」被忽略

這裏的頭文件dems_gridmanagement.h:

#ifndef dems_gridmanager_h 
#define dems_gridmanager_h 1 

//## begin module%500EBD96007C.includes preserve=yes 
#pragma once 
#include <QObject> 
#include <QTime> 
#include <QString> 
#include "common_StringUtility.h" 
#include "common_SharedMemory.h" 
#include "common_QtThread.h" 
#include "common_QtThreadable.h" 
#include "sma_Maps.h" 
#include "dems_Types.h" 
... 
#include "MQTTs_UDP_Multicast.h" 
... 

而且在附加包含目錄:

\ GeneratedFiles; $(QTDIR)\包括:\ GeneratedFiles \ $(配置)。 $(QTDIR)\包括\ qtmain; $(QTDIR)\包括\ QtCore; $(QTDIR)\包括\ QtSql; \; .. \常見; .. \ DemsCommon; .. \以太網; .. \ SMA; .. \ ModbusTCPIP; .. \ MQTTs;%(AdditionalIncludeDirectories)

重要的是,它包括「.. \ SMA」,它應該允許找到「sma_Maps.h」,但我是gett荷蘭國際集團:

Error 3 error C1083: Cannot open include file: 'sma_Maps.h': No such file or directory c:\users...\solution\projects\DemsGridManagement\dems_GridManager.h 33

我試圖將其更改爲: 的#include 「../SMA/sma_Maps.h」

其得到的錯誤的出手,但隨後引入了一個新的錯誤:

Error 59 error C1083: Cannot open include file: 'MQTTs_UDP_Multicast.h': No such file or directory c:\users...\solution\projects\DemsGridManagement\dems_GridManager.h 39

,也是一個類似的錯誤對於包括在項目文件是在解決方案中的一個完全不同的項目,我還沒有打開或改變任何東西英寸

出於某種原因,這就像解決方案只是有選擇地忽略包含一些項目文件的包含目錄信息,但不包括其他人(QT包括工作正常,所以「常見」項目包​​括...所以「共同」項目包括...

有沒有人任何想法可能導致這種情況?昨天一切正常!

編輯:縮小範圍。我說從另一個項目GridManager參考:

#include "../DemsGridManagement/dems_gridmanager.h" 

如果我刪除此,有一個在dems_gridmanager.h文件沒有問題。如果它在這裏,那麼在gridManager中的包含會變得瘋狂並且破裂。

回答

0

當與#include "filename"一起包含時,它始終搜索與當前文件相同的目錄。要獲得你包含在「附加包含目錄」中的文件,你應該包含在#include <filename>

+0

但是它是如何工作的,沒有一個包含「#include」../DemsGridManagement/dems_gridmanager.h「的完全不同的文件,項目?另外,似乎沒有與 Joe

+0

一起工作如果你沒有在任何地方包括'dems_gridmanager.h',預處理器將不會處理'dems_gridmanager.h'。因此,可能在'dems_gridmanager.h'中的所有錯誤編譯時不會顯示 – Taus

+0

雖然它正在被使用,但我只是試圖在其他地方引用它。此外,似乎沒有與 Joe