Xcode可以运行我的程序,但我不能手动运行它

时间:2014-04-11 01:08:27

标签: xcode macos dynamic-linking

我有一个带有动态库的项目和一个链接它的可执行文件。我可以使用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无法安装库的情况下运行我的程序?

1 个答案:

答案 0 :(得分:0)

如果您依赖于dylib,则需要将其安装在适当的位置。

使用框架可能有所帮助,因为您可以使用@executable_path ...来将其打包到您的应用程序中 但是,当然,您将无法在不同的应用程序中共享它。

基本上,你需要告诉Xcode安装你的动态库 这可以在您的构建设置中,在部署部分中完成。

主要是部署位置安装目录跳过安装等...

请注意,您也可以为框架执行此操作,并将其安装到/Library/Frameworks/