Как мне использовать libproc.h в модульной среде Swift?
Я прошел все шаги из других подобных вопросов, и я все еще застрял.
Мне нужно использовать функцию proc_pidpath
в libproc.h
чтобы получить путь к процессу BSD по его PID. Тем не мение, libproc.h
не является модульным заголовком, поэтому я не могу включить его в свой зонтичный заголовок:
Справедливо; Теперь я пытаюсь включить его в карту моего модуля:
framework module My_Modular_Framework {
umbrella header "My_Modular_Framework.h"
private header "/usr/include/libproc.h"
export *
module * { export * }
}
Хорошо, теперь я получаю эту ошибку-рвоту, когда кажется, что многие системные модули / заголовки находятся в моем проекте:
Я не могу понять, что еще делать. Как я уже сказал, я уже безуспешно пытался выполнить все шаги других подобных вопросов. Что здесь можно сделать? Как я могу использовать proc_pidpath
? Есть ли другой, более дружественный к модульной структуре Swift способ получить путь от идентификатора процесса?
Я не хочу включать "Разрешить немодульные включения в модули фреймворка", потому что это противоречит цели модульного фреймворка.
1 ответ
Поскольку libproc.h
а также libproc.c
с открытым исходным кодом ( APSL 2.0) как часть проекта Apple Darwin, вы можете просто включить их (в соответствии с условиями лицензии, конечно) в ваш проект. Поскольку ни один из них не импортирует немодулярные заголовки, вы можете скомпилировать его самостоятельно, и компилятор не будет жаловаться!