brew install libusb 链接失败
brew install libusb linking failed
我正在 Mac
中安装 libusb 和 brew
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
我正在 Mac
中安装 libusb 和 brewbrew 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
所以我用
删除了现有的 libusbsudo 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