2010-08-27 61 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

相關問題