2016-01-07 108 views
0

我正在研究TI微控制器板上的lwip TCP/IP堆棧。簡單地說,我有兩個源文件夾「ipv4」和「ipv6」。 「include」文件夾中都有相應的頭文件的文件夾。找不到頭文件

兩者都有一些功能和結構相同的名稱。我已經包括了兩者的路徑。但是,它在「ipv6」文件夾中的幾乎所有函數中都給我提供了錯誤,就好像它無法找到頭文件的文件夾,而是進入頭文件的「ipv4」文件夾,因爲它也具有相同的功能,但具有不同數量的參數。

我在做什麼錯?從LwIP wiki

+2

你不能有2個函數具有相同名稱的不同參數。 –

+0

許多頭文件查找的細節都是特定於您的編譯器的。對於典型的編譯器,它們還會受到您指定的編譯選項的影響。如果你正在做的事情甚至應該預計會奏效(參見BrianMcFarland的回答),那麼無論發生什麼問題都與你沒有提供的編輯細節有關。 –

+0

@MichaelWalz,不完全是。無論參數如何,您都不能在同一範圍內使用具有相同名稱和相同鏈接的兩個不同功能。如果需要的話,你*可以*具有不同的函數和相同的名稱 - 如果需要的話可以有不同的參數 - 如果它們具有不同的鏈接(即一個是'static',而另一個'extern'並且不在範圍內聲明或使用第一個),或者它們在相同範圍內都不可見(即,兩者都是「靜態」的,並且它們在不同的翻譯單元中定義)。 –

回答

1

直:

對IPv6

支持,目前正在加入到LwIP的。 截至版本1.4.x LwIP可以使用IPv4或IPv6,但不能同時使用。雙堆棧操作代碼位於當前的開發版本(可以從git下載)。它可能會作爲版本1.5.0發佈。有些人認爲LwIP IPv6相當穩定。

所以,除非你正在使用不穩定的/ dev版本,你不能同時使用。聽起來像試圖是什麼導致你的問題。