我正在将我在linux上编写的代码导入到Visual Studio中,并且我正在使用Stack Overflow上的这个替换unistd.h文件:
/ *这是……
首先删除所有typedef定义( int8_t , int16_t 等等。)来自你的 unistd.h 文件。这些已经通过包含来定义 <stdint.h> ,可在Windows上使用。这可能会在禁用precomp标头后修复。
int8_t
int16_t
unistd.h
<stdint.h>
正如您可能已经想到的那样,您不能同时将预编译头与C和C ++混合使用。几种可能的方案:
使用它自己的预编译头(例如“pch.h”和“pch.c”)在单独的静态库(lib)中构建“C”代码。或者只是跳过这个项目的预编译头文件。然后,您的EXE使用C ++代码构建,并链接到您的C代码的LIB。
或者只是重命名你的 getopt.c 至 getopt.cpp 。它可能会通过快速修复或两次编译得很好。然后用预编译的头文件将所有C ++代码组合在一起。
getopt.c
getopt.cpp