OLE2.H文件命中_MAC部分,但如果我添加选项卡则不会

时间:2013-12-09 15:23:34

标签: c++ makefile

我在尝试构建一个C ++模块时遇到了一些有趣的东西。该模块本身尚未构建超过3年,当我尝试构建时,我遇到了一个make错误:

Make Error: c:\PROGRA~1\MICROS~2\VC98\INCLUDE\ole2.h: Cannot find file 'macname1.h'

我环顾互联网寻找修复,但还没有发现其他任何有用的信息,所以我转而使用OLE2.H文件。当我查看那里时,有一个很大的#ifndef _MAC和一个相应的#else,其中包含我丢失的包含文件。

由此我可以假设在包含此文件之前有些事情正在设置_MAC变量,所以我修改了文件并在第一个undef _MAC之前添加了#ifndef。然而,我很惊讶地说,这没有做任何事情。

最终我碰巧在文件中添加了一些标签,以便我可以计算出if / else对。 BOOM ......如果我拿走整个#ifndef块并在该行的开头添加一个标签,则_MAC被正确拾取。这么多,我甚至可以删除我添加的其他#undef,它仍然有效。

如果我将块移回第1列,我会收到make错误。如果我再次添加标签,它就会起作用。

编辑:我只需要标记给我提出问题的主要包含:

#include "macname1.h"

VS

    #include "macname1.h"

以前有没有人见过这个?我真的不想编辑核心的Windows包含文件来构建一个模块。

由于

0 个答案:

没有答案