libusb中没有的符号

时间:2014-12-17 18:21:29

标签: ios boot libusb

请注意,我是iOS(实际上是iDevices)内部新手。 我试图编译iRecovery, 用于与iBoot,iOS的引导加载程序通信的工具。可悲的是......我在编译时遇到了关于libusb的错误:

./configure: line 15323: syntax error near unexpected token `libusb,'
./configure: line 15323: `PKG_CHECK_MODULES(libusb, libusb-1.0 >= 1.0.3)'

已安装

$> pkg-config --libs libusb
-L/opt/local/lib -lusb
$> pkg-config --libs libusb-1.0
-L/opt/local/lib -lusb-1.0 

我试图注释掉检查libusb的行,但后来我得到了一堆未找到的符号,例如:

"_libusb_set_configuration", referenced from:
 _irecv_open_with_ecid in libirecovery_la-libirecovery.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我的简单问题是......为什么?! 谢谢你的帮助...

1 个答案:

答案 0 :(得分:0)

好的,这是一个肮脏的解决方法:

  • 打开(NOT RUN)autogen.sh文件,并注释掉“PKG_CHECK_MODULES(libusb,libusb-1.0> = 1.0.3)”行
  • 保存
  • 运行autogen.sh修改后的文件
  • 打开位于/ src中的makefile:将“-lusb-1.0 -L / usr / local / lib / -I / usr / local / include / - I /usr/local/include/libusb-1.0”添加到“GLOBAL_CFLAGS”变量
  • 保存
  • cd到主目录(/ src的父目录)
  • 使
  • make install

完成后,您应该可以从shell运行irecovery。 请注意,它不是很干净,并且只能确认它适用于iRecovery。

但是 - 它有效!