首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >致命错误:找不到'endian.h‘文件

致命错误:找不到'endian.h‘文件
EN

Stack Overflow用户
提问于 2014-11-22 11:50:59
回答 2查看 17.3K关注 0票数 8

尝试编译C程序时,每次我按照建议运行makegmake时都会收到这个错误。

代码语言:javascript
运行
复制
$ make
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C src all
gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=0  -Iinclude   -c -o osdep/radiotap/radiotap.o osdep/radiotap/radiotap.c
In file included from osdep/radiotap/radiotap.c:17:
osdep/radiotap/platform.h:6:10: fatal error: 'endian.h' file not found
#include <endian.h>
         ^
1 error generated.
make[1]: *** [osdep/radiotap/radiotap.o] Error 1
make: *** [all] Error 2


$ gmake
gmake -C src all
gmake[1]: Entering directory '/Users/silent/Desktop/aircr-1.2-rc1/src'
gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=0  -Iinclude   -c -o osdep/radiotap/radiotap.o osdep/radiotap/radiotap.c
In file included from osdep/radiotap/radiotap.c:17:
osdep/radiotap/platform.h:6:10: fatal error: 'endian.h' file not found
#include <endian.h>
         ^
1 error generated.
<builtin>: recipe for target 'osdep/radiotap/radiotap.o' failed
gmake[1]: *** [osdep/radiotap/radiotap.o] Error 1
gmake[1]: Leaving directory '/Users/silent/Desktop/aircr-1.2-rc1/src'
Makefile:25: recipe for target 'all' failed
gmake: *** [all] Error 2

根据网上的一些表格,建议检查这个位置的文件,~/usr/include/machine,但没有说明如果找到了该怎么办!其他的都没有用了。然后,我找到了这个http://www.opensource.apple.com/source/CarbonHeaders/CarbonHeaders-18.1/Endian.h

代码语言:javascript
运行
复制
silent:~/usr/include/machine
$ ls
_limits.h      _types.h       fasttrap_isa.h profile.h      vmparam.h
_mcontext.h    byte_order.h   limits.h       signal.h
_param.h       `endian.h`       param.h        types.h

正如您所能看到的,我正在获取错误的文件已经存在!任何帮助都将不胜感激。谢谢。

附言:我是新手,我不知道上面的链接是什么:(!

EN

回答 2

Stack Overflow用户

发布于 2017-10-06 19:54:47

在OSX和iOS上,你可以这样包含endian.h:

代码语言:javascript
运行
复制
#include <machine/endian.h>

但请注意,这将在安卓或Linux上失败,因为他们期望的是#include <endian.h>

您还可以包含sys/types.h,这将在iOS/OSX和Android/Linux上都包含正确的endian.h:

代码语言:javascript
运行
复制
#include <sys/types.h>
票数 8
EN

Stack Overflow用户

发布于 2015-10-16 13:41:15

你必须告诉c编译器在哪里可以找到这个文件:

export CFLAGS="$CFLAGS -I~/usr/include/machine"然后运行make

或者,您可以编辑文件Makefile以在必要时添加-I~/usr/include/machine部件。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27073837

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档