brew install libusb 链接失败

brew install libusb linking failed

我正在 Mac

中安装 libusbbrew

brew install libusb

linking 步骤失败如下

Error: The `brew link` step did not complete successfully The formula built, but is not symlinked into /usr/local 

Could not symlink lib/libusb-1.0.0.dylib 

Target /usr/local/lib/libusb-1.0.0.dylib already exists. 

You may want to remove it:   rm '/usr/local/lib/libusb-1.0.0.dylib'

To force the link and overwrite all conflicting files:   brew link
--overwrite libusb

所以我用

删除了现有的 libusb

sudo rm '/usr/local/lib/libusb-1.0.0.dylib'

然后做了一个link

brew link --overwrite libusb

linking 不起作用,显示以下错误

Error: Could not symlink lib/libusb-1.0.0.dylib

/usr/local/lib is not writable.

如果我尝试

sudo brew link --overwrite libusb

相反,这也不起作用。我错过了什么?

我正在使用 OSX El Capitan 版本 10.11.4 (15E65)

如果 homebrew 似乎无法正常工作,我的一般策略是先尝试:

brew doctor

然后按照良医的建议去做。

如果失败,我倾向于卸载一些东西,通常使用 --force,这确实可以很好地清理并删除旧版本。所以,在你的情况下:

brew rm libusb --force

然后重新安装"unhappy"包。所以,在你的情况下:

brew install libusb

在评论中回答你的新问题。您的安装看起来是正确的,因为 libusb 不是可执行程序 - 它只是一个没有任何相关命令行工具的库 - 所以它不会在您 运行 which libusb 时显示。

您可以使用此命令查看包的组成部分:

brew ls libusb

/usr/local/Cellar/libusb/1.0.20/include/libusb-1.0/libusb.h
/usr/local/Cellar/libusb/1.0.20/lib/libusb-1.0.0.dylib
/usr/local/Cellar/libusb/1.0.20/lib/pkgconfig/libusb-1.0.pc
/usr/local/Cellar/libusb/1.0.20/lib/ (2 other files)

而且,如您所见,/usr/local/bin 中没有名为 libusb 的独立可执行程序,只有

  • libusb.h - 一个你要编译的 C 头文件
  • libusb...dylib - 一个你会link反对
  • 的动态库
  • libusb...pc - 为 pkgconfig 工具
  • 提供信息

所以,如果你想针对 libusb 编译和 link 一个应用程序,你会 运行 pkg-config 像这样找出 "Include path" 和 link 详细信息

pkg-config --cflags --libs libusb

-I/usr/local/Cellar/libusb-compat/0.1.5/include      \ 
-I/usr/local/Cellar/libusb/1.0.20/include/libusb-1.0 \
-L/usr/local/Cellar/libusb

这意味着您的编译命令将如下所示:

gcc yourApp.c $(pkg-config --cflags --libs libusb) -o yourApp