Ошибка компиляции исходного кода сети Mac - PullRequest
1 голос
/ 08 января 2012

Я загружаю исходный код сетевого пинга Mac OS из Apple: http://www.opensource.apple.com/tarballs/network_cmds/network_cmds-356.8.tar.gz

и компилирую его в xcode, но получаю ошибки как в 10.7, так и в 10.6,

'IP_NO_IFT_CELLULAR'undeclared (первое использование в этой функции)
' SO_TRAFFIC_CLASS 'undeclared (первое использование в этой функции)
' SO_RECV_TRAFFIC_CLASS 'undeclared (первое использование в этой функции)
' SO_TRAFFIC_CLASS 'undeclared (первое использование в этой функции)

Я что-то пропустил?

1 Ответ

1 голос
/ 08 января 2012

Я подумал, что вам может потребоваться импортировать сетевую инфраструктуру в ваш проект, но Apple не предоставляет никакого описания или информации о загруженном вами проекте.

Для потомков: Чтобы добавить рамки, выберите проект в левом верхнем углу, затем нажмите на цель, выберите «Фазы сборки» в верхней части получившейся страницы, «Связать двоичные файлы с библиотеками», «+».

Мне, наконец, удалось собрать его после исчерпывающего поиска в Google, добавив в файл 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)*/

Что забавно пришло из других проектов Apple с открытым исходным кодом, которые Google проиндексировал.

...