如何在Mac OS上使用libelf.h进行编译?

如何在Mac OS上使用libelf.h进行编译?,c,macos,compiler-errors,header-files,C,Macos,Compiler Errors,Header Files,我试图在MacOSCatalina上编译一个C程序,它使用libelf.h头。我收到以下错误消息: fatal error: 'libelf.h' file not found #include <libelf.h> ^~~~~~~~~~ 致命错误:找不到“libelf.h”文件 #包括 ^~~~~~~~~~ 我遵循并安装了libelf,并将-lelf标志与gcc和clang一起使用。仍然无法在Mac OS上编译(它在Ubuntu上编译)。我不确定从这里走到哪里…可能

我试图在MacOSCatalina上编译一个C程序,它使用
libelf.h
头。我收到以下错误消息:

fatal error: 'libelf.h' file not found
#include <libelf.h> 
     ^~~~~~~~~~
致命错误:找不到“libelf.h”文件
#包括
^~~~~~~~~~

我遵循并安装了libelf,并将
-lelf
标志与gcc和clang一起使用。仍然无法在Mac OS上编译(它在Ubuntu上编译)。我不确定从这里走到哪里…

可能的重复:由于macOS不使用ELF作为其目标文件,因此使用ELF编写的代码在macOS上无法工作-至少,如果没有大量的艰苦工作就不行。@Arnie97谢谢你,我通过对该解决方案的一个变体来编译它。我仍然无法包含确切的elf.h文件,但我只需要将'libelf/'添加到所有与elf相关的头文件中,并使用libelf/elf_repl.h而不是elf.h。libelf/elf_repl.h中缺少符号,因此我从您指向我的elf.h中获得了缺少的定义。谢谢@JonathanLeffler哎呀,这是我忽略的东西。。。谢谢你告诉我这件事。