运行SayoDevice时遭遇dyld符号未找到错误,寻求解决方案
解决SayoDevice启动时的dyld符号缺失错误
错误原因
你运行的Sayo_CLI_Mac_X64是针对Mac OS X 12.0(Monterey)编译的,但你的Mac系统版本低于12.0,导致系统自带的/usr/lib/libc++.1.dylib缺少程序所需的C++标准库符号__ZTTNSt3__114basic_ifstreamIcNS_11char_traitsIcEEEE。另外你提到打开dylib文件看到不可读字符是正常现象——dylib是二进制库文件,并非文本文件,用普通文本编辑器打开自然会显示乱码。
解决方法
升级Mac系统至12.0或更高版本
这是最稳妥的方案,升级后系统的libc++库会包含程序依赖的符号,完全匹配编译环境。获取适配旧系统的SayoDevice版本
联系软件开发者,确认是否有针对你的Mac系统版本(如Big Sur 11.x及更早)编译的安装包,从根源解决版本兼容问题。手动替换兼容的libc++.1.dylib(不推荐)
此方法存在破坏系统稳定性的风险,仅作为最后尝试:- 从运行Mac OS X 12.0的同架构Mac上拷贝
libc++.1.dylib文件 - 将该文件放到
/Users/nd_admin/Downloads/setting/目录下(和Sayo_CLI_Mac_X64同目录),让程序优先加载这个库而非系统自带版本
注意:该操作可能导致其他依赖系统libc++的程序出现异常,请谨慎执行。
- 从运行Mac OS X 12.0的同架构Mac上拷贝
内容的提问来源于stack exchange,提问作者tarragon111
相关产品推荐
相关产品推荐

