下载的一个 demo 程序,应该是没有问题的,然而导入了 VS2015 之后,编译始终报错
比如这样的代码:
    #ifndef _WIN_POLL_H
    #define _WIN_POLL_H
    #define POLLIN      0x001
    #define POLLPRI     0x002 
    #define POLLOUT     0x004
struct pollfd
{
    int fd;                 // File Descriptor to poll
    short int events;       //Types of events poller takes care about
    short int revents;      //Types of events that actualy occured
};
#endif
编译之后 POLLIN POLLPRI POLLOUT struct pollfd 全都报宏重定义的错,并且我全局搜索也并没有搜索到有重定义的地方
有过经验的同学来告诉下咋回事?
|      1Neveroldmilk      2016-03-02 08:27:24 +08:00  1 你自己在 POLLIN 、 POLLPRI 和 POLLOUT 前面再加个#ifdef 检测不就完了。 | 
|  |      2kevinzhwl      2016-03-02 09:48:47 +08:00 via iPhone 不在工程内的文件,可以被 include 但不能被搜索到。 | 
|      3autulin OP @Neveroldmilk 你是说再次检测 POLLIN 这样的宏定义有无被定义吗?那这个跟开头的#ifndef _WIN_POLL_H #define _WIN_POLL_H 有什么区别呢? | 
|      5hitmanx      2016-03-02 13:17:49 +08:00  1 POLLIN 应该是在系统的 poll.h 里定义了,你工程里又重新定义了.解决方法同 1 楼 ./incs/libusbi.h:#include <poll.h> ./incs/os.h:#include <sys/poll.h> | 
|      6autulin OP |