Не удается устранить ошибку компиляции OSX

Я пытаюсь использовать пример библиотеки IOKit для получения системной информации о OSX, как описано здесь: https://developer.apple.com/library/mac/technotes/tn1103/_index.html

Неопределенные символы для архитектуры x86_64:

"_IOObjectRelease", ссылка с которого...

"_IORegistryEntryCreateCFProperty", на который ссылаются:...

"_IOServiceGetMatchingService", на который ссылаются из:...

"_IOServiceMatching", ссылка на которую...

"_kIOMasterPortDefault", ссылка на которую...

ld: символы не найдены для архитектуры x86_64

clang: error: сбой команды компоновщика с кодом выхода 1 (используйте -v для просмотра вызова)

Я использую как -Framework CoreFoundation, так и -Framework IOKit.

Это не дубликат, потому что я не связал его с неверной целью, но у меня была опечатка:(

1 ответ

Решение

Ты используешь -framework IOKit в команде link для вашего окончательного исполняемого файла или при связывании статической библиотеки, которую вы затем связываете в свой исполняемый файл? Статические библиотеки не могут связываться с самими динамическими библиотеками и фреймворками, вы должны сделать это на этапе исполняемого файла или dylib (включая комплекты или фреймворки).

Другие вопросы по тегам