【发布时间】:2012-12-10 13:22:33
【问题描述】:
有人可以帮我纠正一下吗。我正在使用 -lIOKit 进行链接,但显然也需要另一个库。
Undefined symbols for architecture x86_64:
"___CFConstantStringClassReference", referenced from:
CFString in code-9daAw9.o
"_kCFBooleanTrue", referenced from:
_dimDisplayNow in code-9daAw9.o
这是代码(位于http://www.cocoabuilder.com/archive/cocoa/191807-sleep-display.html)
#include <CoreFoundation/CoreFoundation.h>
#include <IOKit/IOKitLib.h>
static int dimDisplayNow(void)
{
io_registry_entry_t r =
IORegistryEntryFromPath(kIOMasterPortDefault,
"IOService:/IOResources/IODisplayWrangler");
if(!r) return 1;
int err = IORegistryEntrySetCFProperty(r, CFSTR("IORequestIdle"),
kCFBooleanTrue);
IOObjectRelease(r);
return err;
}
int main(int argc, char **argv)
{
dimDisplayNow();
return 0;
}
【问题讨论】:
-
“架构 x86_64 的未定义符号”这可能意味着您只有 32 位版本的库。如果使用
-m32构建有效,那就是它。 -
不,同样的错误,但从 x86_64 更改为 i386
-
嗯,不错,值得一试。对不起,我在这里帮不了你,不知道可可(那是 Mac,不是吗?)。