Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode可以运行我的程序,但我可以';不要手动运行它_Xcode_Macos_Dynamic Linking - Fatal编程技术网

Xcode可以运行我的程序,但我可以';不要手动运行它

Xcode可以运行我的程序,但我可以';不要手动运行它,xcode,macos,dynamic-linking,Xcode,Macos,Dynamic Linking,我有一个项目,有一个动态库和一个链接到它的可执行文件。我可以使用Xcode成功启动它,但当我尝试从命令行运行它时,dyld抱怨库不在安装路径中: $/Users/USER/Library/Developer/Xcode/DerivedData/PROJECT/Build/Products/Debug/EXECUTABLE dyld:未加载库:/usr/local/lib/libMyLib.dylib 引用自:/Users/USER/Library/Developer/Xcode/DerivedD

我有一个项目,有一个动态库和一个链接到它的可执行文件。我可以使用Xcode成功启动它,但当我尝试从命令行运行它时,dyld抱怨库不在安装路径中:

$/Users/USER/Library/Developer/Xcode/DerivedData/PROJECT/Build/Products/Debug/EXECUTABLE
dyld:未加载库:/usr/local/lib/libMyLib.dylib
引用自:/Users/USER/Library/Developer/Xcode/DerivedData/PROJECT/Build/Products/Debug/EXECUTABLE
原因:找不到图像
跟踪/BPT陷阱:5
问题很明显:库不在其公布的安装路径中。然而,我真的不想在那里部署它,而且,Xcode仍然能够启动我的程序


如果不在
/usr/local/lib
中安装库,如何运行程序?

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

使用框架可能会有所帮助,因为您可以使用
@executable\u path

但是,当然,您将无法在不同的应用程序之间共享它

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

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


请注意,您也可以对框架执行此操作,将它们安装到
/Library/frameworks/

您真的需要动态库吗?静态库可能更容易使用,如果您可以访问库源代码…@macmake,我使用的是动态库,因为它包含在程序和多个插件之间共享的核心组件。我想它可以改为一个框架,但使其成为静态会带来麻烦。知道Xcode如何在没有正确位置的库的情况下运行它吗?您可以在构建日志视图(左侧边栏中的最后一个图标)中查看Xcode将主可执行文件与库链接的方式。。。它基本上使用临时构建目录中的库的完整路径,而不是库名称,正如您所期望的发布构建。那么,如果要在构建目录中查找库,为什么我不能运行此构建?