在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
工程配置中,有三个路径和库的加载息息相关: 1、@executable_path 可执行文件的路径,例如/Applications/WeChat.app/Contents/MacOS。
2、@loader_path 被加载的二进制的路径,若该二进制是可执行文件,则@loader_path等价于@executable_path。 适用于非可执行二进制嵌套的场景,例如frameworkA包含frameworkB,frameworkB的加载路径就可以根据frameworkA的@loader_path给出。
3、@rpath 即run path,对应于工程配置中的Runpath Search Paths。是一个或者多个路径的列表,类似于环境变量$PATH。
当库的加载路径出错时,就会报如下错误: dyld: Library not loaded 这时可以利用otool工具查看二进制依赖的库,例如Mac微信: otool -L /Applications/WeChat.app/Contents/MacOS/WeChat 然后使用install_name_tool工具来修正错误路径即可。
参考链接: https://wincent.com/wiki/%40executable_path%2C_%40load_path_and_%40rpath |
请发表评论