Я пытаюсь использовать комплект ввода / вывода и правильно подключился к комплекту ввода / вывода.
Когда я использую функцию в наборе ввода / вывода и не вызываю ее в статической функции, я получаю следующую ошибку Undefined symbols for architecture x86_64
.
Вот пример для подавления ошибки
static void test(void)
{
if (IORegisterForSystemPower(...))
{
}
}
Вот пример, который может вызвать ошибку.
void test(void)
{
if (IORegisterForSystemPower(...))
{
}
}
Любые предложения относительно того, почему это происходит?
EDIT:
Вот точные сообщения об ошибках:
Undefined symbols for architecture x86_64:
"_IORegisterForSystemPower", referenced from:
_registerNotificaitonUsingIOKit in AppDelegate.o
"_IONotificationPortGetRunLoopSource", referenced from:
_registerNotificaitonUsingIOKit in AppDelegate.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)