VC6.0有关问题:明明有#ifndef _WINDOWS,为何编译还会出现Cannot open include file: 'dlfcn.h'

VC6.0问题:明明有#ifndef _WINDOWS,为何编译还会出现Cannot open include file: 'dlfcn.h'?
请哪位大侠帮帮忙啊!
在一个头文件里面,有以下三行:
#ifndef _WINDOWS
#include <dlfcn.h>
#endif

结果VC++6.0编译出现错误fatal error C1083: Cannot open include file: 'dlfcn.h': No such file or directory

明明已经说了dlfcn.h不是在windows情况下包含了,为什么还会这样?
PS:这三行因为还要在linux下运行从而不能删除。

------解决方案--------------------
我来告诉你吧:
 因为_WINDOWS没有定义,所以#include <dlfcn.h>这句话被编译了。
你可以把
#ifndef _WINDOWS这一句改成:
#ifndef _WIN32

就ok了,如果你是64位的系统,要改成:
#ifndef _WIN64 

------解决方案--------------------
你的工程里有没有定义 _WINDOWS 宏?