首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

2012-04-23 
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 宏?

热点排行