我将第三方标题和源文件包含在我的项目中.
在标题的顶部有:
#if defined(WIN32) || defined(WIN16) #ifndef MSDOS #define MSDOS #endif #endif #include <stdio.h> #include <stdlib.h> #ifndef MSDOS #include <unistd.h> #endif #include "des.h"
问题是#if定义(WIN32)失败,编译失败,当尝试#include unistd.h我不想做的.
我有这个头文件的第三方项目,即WIN32被定义,并且它不尝试包括在Visual Studio中,我在“WIN32”上做了“去定义”,并被采纳到WinDefs.h中的以下定义.
#define WIN32
我不知道这是WIN32定义的地方,因为第三方项目似乎并不包括“WinDefs.h”.
所以我的问题是,如何在目前的新项目中定义WIN32?
解决方法
取决于您的项目设置. WIN32是在Windows头文件中定义的,但您也可以将其传递给编译器(例如,对于gcc为“-DWIN32”).尝试它,看看它是否编译.