macos - 部署在另一台机器上时正在修改 Macho 运行路径
问题描述
我在 dylib 文件中设置了 libcrpyto 的搜索路径,以便在以下路径中查找 libcrypto.1.1.dylib:
otool -L mylib.dylib
-->
...
@rpath/libcrypto.1.1.dylib
...
但是,当我将目标部署到我曾经构建过 libcrypto 的某台机器上时,搜索路径会自动从 rpath 替换为我之前构建目标的位置。
otool -L mylib.dylib
-->
...
/Users/me/Developer/staging/fakeroot/lib/libcrypto.1.1.dylib (compatibility version 1.1.0, current version 1.1.0)
...
该文件当然保持不变(通过匹配文件内容的 md5 来检查它)
我查看了是否有任何环境变量可以替换@rpath,/Users/me/Developer/staging/fakeroot/lib/
但没有找到任何包含曾经使用过的路径的变量。
也许这是在文件中定义的东西?但是我只在这台特定的机器上得到这条路径的原因是什么?
解决方案
推荐阅读
- angular - 在 httpInterceptor 中设置参数覆盖了我想附加的额外参数
- python - 为什么这个角色总是sizeHintRole?
- python - python - 从字典中映射数据框列中的值,列表为值
- javascript - 道具编号不会改变时间
- raspberry-pi - 在哪里为 raspbian buster 上的 openbox-session 设置 -nocursor
- deep-learning - 在训练实例分割时在图像数据集上创建增强的最佳方法是什么?
- android - Kotlin:如何获取当前位置?
- laravel - 添加求和行 - 使用 Livewire (Laravel)
- tree - 如何在不使用子节点的情况下访问 ANTLR 树的节点
- powershell - 如何使用 PowerShell privateMomerySet 和 PID 传递服务路径作为参数?