io_service_open_extended链接失败

时间:2016-06-18 08:06:01

标签: objective-c xcode

我正在使用xcode编译代码。 IOKit已经包含在" Link Binary with Libraries"中,但我仍然会收到以下错误:

  

架构x86_64的未定义符号:

     

" _io_connect_method_scalarI_scalarO"

     

" _io_service_open_extended"

     

_main in 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
                                                           );

但是这些功能可以在Apple的API参考中找到,也可以用Google搜索。

1 个答案:

答案 0 :(得分:-1)

试试这个:

仅将Build Active Architecture设置为NO。