2010-08-27 63 views
3

我试图在Windows下构建libdwarf api,但我收到以下编译错误。试图编译libdwarf,给出未定义的错误

in dwarf_elf_access.c 
undefined type Elf32_Ehdr, 
undefined symbol EI_CLASS 
undefined symbol ELFCLASS64 
undefined symbol ELFDATA2LSB 
... 

我做了所有头文件和源文件的搜索,我无法找到他们定义的任何地方,据我所知。这些unix/linux特定的定义是?如果这些错误应该如何在Windows下解决?

感谢

+0

您正在使用什么编译器?我在我的答案中假设了gcc。 – terminus 2010-08-27 20:53:48

+0

@terminus感谢您的回复。我使用的编译器是borland/embar,但是在使用MSVC9编译时遇到同样的问题 – greatwolf 2010-08-27 22:08:34

+0

将其更正为更具体。 – terminus 2010-08-27 22:49:58

回答

4

看来你需要的libelf函数库也链接(侏儒库使用它)。

3

终点是对的,libdwarf取决于libelf库。

我成功编译这个与msvc2008和2010年 http://directory.fsf.org/project/libelf/

+0

谢谢,经过一些Google搜索后,我想出了相同的链接。如果我遇到更多问题,我会在这里发布更新。 – greatwolf 2010-08-28 21:32:40

+0

+1感谢链接到libelf。从我的研究来看,它似乎是开箱即用的Windows自带的唯一libelf实现。另外,我的样本精灵生产测试程序完美地与Windows上的libelf完美结合,而使用自适应版本的elftoolchain libelf时常会产生损坏的精灵文件。 – Bogatyr 2012-04-04 05:28:26

相关问题