2012-01-08 78 views
1

我從蘋果下載Mac OS網絡ping命令的源代碼:http://www.opensource.apple.com/tarballs/network_cmds/network_cmds-356.8.tar.gz的Mac網絡ping命令的源代碼編譯錯誤

,並在Xcode編譯它,但在這兩種10.7和10.6出現錯誤,

「IP_NO_IFT_CELLULAR '未聲明(在此函數首先使用)
‘SO_TRAFFIC_CLASS’未申報(第一在此函數使用)
‘SO_RECV_TRAFFIC_CLASS’未申報(第一在此函數使用)
‘SO_TRAFFIC_CLASS’未申報(先入此函數中使用)

我錯過了什麼嗎?

+0

您正在使用哪種版本的XCode? (如果我在XCode 4.2.1中打開該項目,我也會遇到錯誤,但這些錯誤與您的不同)。 – 2012-01-08 09:49:55

+0

它在10.6 OS中爲4.2。 – timy 2012-01-08 13:37:33

回答

1

我認爲您可能需要將網絡框架導入到您的項目中,但Apple不提供任何關於您下載的項目的描述或信息。

爲了後代的緣故: 要添加框架,請選擇左上方的項目,然後單擊您的目標,從結果頁頂部選擇「構建階段」,「與庫鏈接二進制文件」,「+」。

我終於加入讓它詳盡的谷歌搜索後,構建以下的ping.c文件(一個與錯誤標記):

#define IP_NO_IFT_CELLULAR 6969 /* for internal use only */ 
#define IP_NO_IFT_PDP  IP_NO_IFT_CELLULAR /* deprecated */ 
#define SO_TRAFFIC_CLASS  0x1086  /* Traffic class (int)*/ 
#define SO_RECV_TRAFFIC_CLASS 0x1087  /* Receive traffic class (bool)*/ 

哪個好玩來自其他開源項目的蘋果來了Google已編入索引。

+0

Apple開源網站沒有任何信息,不知道應該將哪個框架添加到項目中。 – timy 2012-01-09 14:35:25

+0

嘗試這些新的定義我編輯了我的答案包括,我得到它與他們建立。 – GregularExpressions 2012-01-09 19:58:52

+0

你真是太酷了:) – timy 2012-01-10 16:32:55