项目"附加包括目录"被忽略

时间:2015-10-07 11:45:44

标签: c++ visual-studio-2010 include

我在同一个解决方案中包含来自其他项目的文件 - 它在当前的配置中都运行良好,但我添加了一种新方法,现在它无法找到任何包含文件。

这里是头文件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"
...

在附加的include目录中:

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

至关重要的是,它包括&#34; .. \ SMA&#34;,这应该允许&#34; sma_Maps.h&#34;被发现,但我得到了:

  

错误3错误C1083:无法打开包含文件:&#39; sma_Maps.h&#39;:没有这样的文件或目录c:\ users ... \ solution \ projects \ DemsGridManagement \ dems_GridManager.h 33

我尝试将其更改为:     #include&#34; ../ SMA / sma_Maps.h&#34;

它可以消除错误,但随后又引入了一个新错误:

  

错误59错误C1083:无法打开包含文件:&#39; MQTTs_UDP_Multicast.h&#39;:没有这样的文件或目录c:\ users ... \ solution \ projects \ DemsGridManagement \ dems_GridManager.h 39

对于项目文件中包含的类似错误,该文件位于解决方案中完全不同的项目中,我甚至无法打开或更改任何内容。

出于某种原因,它的解决方案就是选择性地忽略包含一些项目文件的包含目录信息,而不是其他项目文件(QT包括工作正常,所以&#34;常见&#34;项目包括......

有没有人有任何想法可能导致这个?昨天一切正常!

编辑:将其缩小。我在另一个项目中添加了对GridManager的引用:

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

如果删除它,dems_gridmanager.h文件中没有问题。如果它在这里,gridManager中的包含就会变得疯狂和破碎。

1 个答案:

答案 0 :(得分:0)

当包含#include "filename"时,它始终搜索与当前文件相同的目录。要获取您包含在&#34;其他包含目录中的文件&#34;你应该加入#include <filename>