Mac设备无法安装libpulse,编译时找不到libpulse-simple.0.dylib如何解决
问题解决方案
你安装pulseaudio后无需额外安装其他依赖库,找不到库是因为brew安装的第三方库路径默认不在编译链接器的搜索路径内,且当前macOS版本默认开启系统完整性保护(SIP),禁止修改/usr/lib目录,不建议强制写入该目录。
操作步骤
第一步:确认库文件存在
执行以下命令验证brew安装的pulseaudio已包含目标库:
ls $(brew --prefix pulseaudio)/lib | grep libpulse-simple.0.dylib
如果有输出说明文件存在,继续下一步。
第二步:选择对应解决方案(优先选方案1)
方案1:编译时指定库搜索路径(无系统修改,最推荐)
在你的编译命令前加入对应LDFLAGS参数即可:
- 普通编译命令:
LDFLAGS="-L$(brew --prefix pulseaudio)/lib" 你的原编译命令 - 使用configure生成Makefile:
./configure LDFLAGS="-L$(brew --prefix pulseaudio)/lib" - 使用CMake构建:
cmake 你的其他参数 -DCMAKE_LIBRARY_PATH=$(brew --prefix pulseaudio)/lib
方案2:全局配置库路径(适合多次编译调用的场景)
不需要写入/usr/lib,只需将库软链接到系统允许的第三方库路径即可:
- Intel架构Mac执行:
sudo ln -s $(brew --prefix pulseaudio)/lib/libpulse-simple.0.dylib /usr/local/lib/ - ARM架构(M系列芯片)Mac执行:
sudo ln -s $(brew --prefix pulseaudio)/lib/libpulse-simple.0.dylib /opt/homebrew/lib/
链接完成后重新打开终端即可生效,部分新系统可执行sudo update_dyld_shared_cache刷新缓存。
内容的提问来源于stack exchange,提问作者Jack McCarthy
相关产品推荐
相关产品推荐

