我正在尝试使用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