我正在开发一个使用AppList库的命令行工具应用程序。但是当我试图在我的设备上运行时,发生了错误:
dyld: Library not loaded: /usr/lib/libapplist.dylib
Referenced from: /usr/bin/testApp
Reason: image not found
是否可以将libapplist.dylib附加到项目包?
答案 0 :(得分:1)
所有dylib在mach-o标题内都有一个安装路径。该路径放在应用程序导入部分中,以便链接器可以找到dylib。启动流程后,dyld
会搜索dylib的路径。
你可以检查这样的路径:
otool -D libapplist.dylib
dyld
告诉你的是 - 它无法找到dylib。您有两种选择:
如果是您的dylib,您可以在dylib的xcode项目设置中更改它 - 搜索installation directory
。当您重建dylib和连接它的应用程序时,它们将包含新路径。
如果您无法重新编译dylib,则需要手动更改它。以下是如何做到这一点:
install_name_tool -id @executable_path/libapplist.dylib libapplist.dylib
@executable_path
告诉链接器搜索应用程序可执行文件所在的dylib。
答案 1 :(得分:-1)
简单的去构建阶段和链接框架和库