我正在使用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搜索。
答案 0 :(得分:-1)
试试这个:
仅将Build Active Architecture设置为NO。