繁体   English   中英

在XCode上使用I / O Kit中的方法时,构建失败

[英]Build fails when using methods from I/O Kit on XCode

睡眠和唤醒Mac OS时,我需要在C ++应用程序中执行一些操作。 我指的是使用I / O套件。

我遵循了本指南 ,特别是“清单3”。 IOKit#include指令未发生构建错误。

但是,当我取消注释IOAllowPowerChange()IOCancelPowerChange()时,构建失败:

Undefined symbols for architecture x86_64:
  "_IOAllowPowerChange", referenced from:
      SleepCallback(void*, unsigned int, unsigned int, void*) in MyAppFrameWork.a(PowerWatcher.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我尝试在“项目设置”>“构建阶段”>“使用库链接二进制文件”中添加IOKit.framework ,但未做任何更改。

我想念什么?

编辑

使用I / O Kit中的任何方法时,都会发生相同的错误,包括: IONotificationPortGetRunLoopSource()IORegisterForSystemPower()

声明变量时没有错误,例如IONotificationPortRef

确实应该通过链接IOKit.framework来解决。 您确定将其添加到正确的目标吗? 您需要在最终的可执行文件或框架中链接它。 静态库无法链接到框架。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM