Objective c io\服务\开放\扩展链路故障

Objective c io\服务\开放\扩展链路故障,objective-c,xcode,Objective C,Xcode,我正在用xcode编译代码。IOKit已包含在带有库的链接二进制文件中,但我仍然收到以下错误: 架构x86_64的未定义符号: _io\U连接\U方法\U scalarI\U scalarO _io\u服务\u打开\u扩展 _main.o ld:未找到架构x86_64的符号clang:错误:链接器命令失败,退出代码为1使用-v查看调用 尽管这两个函数是在程序中使用以下代码定义的: extern "C" kern_return_t io_service_open_extended ( ma

我正在用xcode编译代码。IOKit已包含在带有库的链接二进制文件中,但我仍然收到以下错误:

架构x86_64的未定义符号:

_io\U连接\U方法\U scalarI\U scalarO

_io\u服务\u打开\u扩展

_main.o ld:未找到架构x86_64的符号clang:错误:链接器命令失败,退出代码为1使用-v查看调用

尽管这两个函数是在程序中使用以下代码定义的:

extern "C" kern_return_t io_service_open_extended
(
    mach_port_t service,
    task_t owningTask,
    uint32_t connect_type,
    NDR_record_t ndr,
    io_buf_ptr_t properties,
    mach_msg_type_number_t propertiesCnt,
    kern_return_t *result,
    mach_port_t *connection
 );
extern "C" kern_return_t io_connect_method_scalarI_scalarO(
                                                           io_connect_t conn, uint32_t selector,
                                                           io_scalar_inband64_t scalar_input,
                                                           mach_msg_type_number_t scalar_inputCnt,
                                                           io_struct_inband_t inband_output,
                                                           mach_msg_type_number_t *inband_outputCnt
                                                           );
但是这些函数可以在苹果的API参考中找到,也可以在谷歌上找到。

试试这个:


将Build Active Architecture only设置为NO.

您提供自己的函数声明这一事实似乎表明这些函数不是供公众使用的,因为您应该为声明包含一个头文件。查看并查看是否可以找到它们的声明和定义位置。这样做将构建更多的CPU体系结构,而不是更少的体系结构,从而增加链接错误的可能性,而不是减少它们。这是一个下意识的样板答案,添加时不了解它的作用。