我有一个带有动态库的项目和一个链接它的可执行文件。我可以使用Xcode成功启动它,但是当我尝试从命令行运行它时,dyld抱怨该库不在安装路径中:
$ /Users/USER/Library/Developer/Xcode/DerivedData/PROJECT/Build/Products/Debug/EXECUTABLE
dyld: Library not loaded: /usr/local/lib/libMyLib.dylib
Referenced from: /Users/USER/Library/Developer/Xcode/DerivedData/PROJECT/Build/Products/Debug/EXECUTABLE
Reason: image not found
Trace/BPT trap: 5
问题非常明显:图书馆不在其宣传的安装路径中。但是,我真的不想在那里部署它,此外,Xcode仍然设法启动我的程序。
如何在/usr/local/lib
无法安装库的情况下运行我的程序?
答案 0 :(得分:0)
如果您依赖于dylib,则需要将其安装在适当的位置。
使用框架可能有所帮助,因为您可以使用@executable_path
...来将其打包到您的应用程序中
但是,当然,您将无法在不同的应用程序中共享它。
基本上,你需要告诉Xcode安装你的动态库 这可以在您的构建设置中,在部署部分中完成。
主要是部署位置,安装目录,跳过安装等...
请注意,您也可以为框架执行此操作,并将其安装到/Library/Frameworks/