c – 支持linux / types.h OSX

前端之家收集整理的这篇文章主要介绍了c – 支持linux / types.h OSX前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使用OSX交叉编译应用程序.但是,当我编译我得到以下内容
fatal error: 'linux/types.h' file not found

当我更改为sys / types.h,现在我得到…

error: unknown type name '__s32'
 unknown type name '__u8'
 unknown type name '__u16'
 etc

有人可以帮我解决这个问题吗?

解决方法

显然,一个Linux特定的头文件不会出现在MacOS / X下,这不是基于Linux的.

解决问题的最简单的办法是通过你的程序来替换所有的实例

#include "linux/types.h"

有了这个:

#include "my_linux_types.h"

…并写入一个名为my_linux_types.h的新头文件,并将其添加到您的项目中;它会看起来像这样:

#ifndef my_linux_types_h
#define my_linux_types_h

#ifdef __linux__
# include "linux/types.h"
#else
# include <stdint.h>
typedef int32_t __s32;
typedef uint8_t __u8;
typedef uint16_t __u16;
[... and so on for whatever other types your program uses ...]
#endif

#endif

猜你在找的C&C++相关文章