我正在编译包含头文件unistd.h的Visual Studio 2010中的代码。因为windows不支持头文件unistd.h,所以我正在寻找替代的头文件,或者有什么方法可以自定义它,以便我也可以在Visual Studio中编译它。
发布于 2014-03-17 08:59:46
尝试包含io.h,它相当于MSVC中的unistd.h。如果您想保持兼容性,请尝试以下操作:
#ifdef _WIN32
#include <io.h>
#else
#include <unistd.h>
#endif发布于 2011-10-04 16:12:08
最好的办法是删除以下行,而不是尝试将不合适的头文件放入Windows:
#include <unistd.h>然后试着编译你的代码。
你可能会发现(如果你非常幸运的话)它根本没有使用这些特性。
但是,更有可能的是,它将使用来自该标头和任何关联库的某些内容,您将需要实现这些内容或找到Windows等效项。
如果您希望尽可能保持代码的可移植性,我将创建一个WindowsUniStd.h文件(以及相关的源文件)来实现程序所需的最低限度。
发布于 2011-10-04 16:36:25
如果您需要一个适用于windows的最小GNU环境,并且具有unistd.h的一些功能,那么您应该首先考虑MinGW project。如果你幸运的话,你完全可以不用使用他们的编译过的库。
如果这还不够,您正在移植一个程序,并且您正在移植到一个糟糕的系统上。Windows是一个计算死水,提供一个完整的unistd.h是一项艰巨的任务,你最好重写应用程序以删除对unistd.h的引用或使用Cygwin。
https://stackoverflow.com/questions/6365058
复制相似问题