9

誰か私を正してください。私は使用してリンクして-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;
}
4

1 に答える 1

8

コードの最初の行に含めたCoreFoundation.frameworkに対してリンクする必要があります。(CoreFoundationのCF略です)___CFConstantStringClassReferencekCFBooleanTrue

于 2012-12-24T01:25:06.010 に答える