brew安装libusb链接失败

时间:2016-04-11 21:21:47

标签: homebrew libusb

我在Mac上用 brew 安装 libusb

  

brew install libusb

链接步骤失败,如下所示

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'

然后做了一个链接

  

brew link --overwrite libusb

链接不起作用,显示错误

  

错误:无法符号链接lib / libusb-1.0.0.dylib

     

/ usr / local / lib不可写。

如果我尝试

  

sudo brew link --overwrite libusb

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

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

1 个答案:

答案 0 :(得分:3)

如果事情似乎不适用于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 - 您要链接的动态库
  • libusb ... pc - 提供pkgconfig工具
  • 的信息

因此,如果您想针对libusb编译和链接应用程序,您可以像这样运行pkg-config以查找“包含路径”和链接器详细信息< / p>

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