在网络通讯中,经常要使用xml技术来编写通讯协议,而在win32平台上,就有一个比较好用的xml解析和生成API------CMarkup,它的使用方法很简单,没有在这里叙述的必要,但是在与windows API混合使用过程当中,一不小心会出现一些编译错误
/microsoft visual studio 8/vc/atlmfc/include/afxv_w32.h(16) : fatal error C1189: #error : WINDOWS.H already included. MFC apps must not #include <windows.h>
打开afxv_w32.h可以看到,这是一个预编译错误输出,提示这个头文件已经包含了windows.h,继续往下浏览,会发现第164行果然包含了windows.h,但是,在我们的解包和加包模块中,需要同时使用CMarkup和windows API呀,怎么办呢?
问题很好解决,既然硬来不行,不妨回避一下,在模块中包含这两个头文件的时候,先包含Markup.h文件,然后再包含windows.h,这样,就能在编译阶段回避上述出现的问题。