Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.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
Iphone 仅用于调试的带库的iOS链接二进制文件_Iphone_Objective C_Ios_Xcode - Fatal编程技术网

Iphone 仅用于调试的带库的iOS链接二进制文件

Iphone 仅用于调试的带库的iOS链接二进制文件,iphone,objective-c,ios,xcode,Iphone,Objective C,Ios,Xcode,我在为我的项目设置不同的配置时有点问题。我有相同静态库的两个版本。一个已启用日志记录,另一个未启用 我使用两个不同的xcconfig文件进行调试和发布。在这些文件中,我为静态库的两个变体指定了库和头搜索路径。到目前为止还不错 但是,在我的构建设置中,我看不到有条件地链接实际库的方法。即,使用调试变量进行调试,使用发布版本进行发布 有什么想法吗 您需要使用“其他链接器标志”生成设置链接库,而不是使用标准的“链接二进制文件与库”UI。可以根据配置更改生成设置: 单击三角形,可以为调试/发布提供不同

我在为我的项目设置不同的配置时有点问题。我有相同静态库的两个版本。一个已启用日志记录,另一个未启用

我使用两个不同的xcconfig文件进行调试和发布。在这些文件中,我为静态库的两个变体指定了库和头搜索路径。到目前为止还不错

但是,在我的构建设置中,我看不到有条件地链接实际库的方法。即,使用调试变量进行调试,使用发布版本进行发布


有什么想法吗

您需要使用“其他链接器标志”生成设置链接库,而不是使用标准的“链接二进制文件与库”UI。可以根据配置更改生成设置:

单击三角形,可以为调试/发布提供不同的值。您需要使用
-l
标志。例如,对于
libMyLib.a
的文件名,使用标志
-lMyLib
。您可能需要编辑“库搜索路径”以搜索适当的位置


如果调试版本和发布版本的文件名相同,并且您不想更改它们,请将它们分别放入各自的
lib/debug
lib/release
目录中。然后编辑“库搜索路径”生成设置,添加
“$SRCROOT/lib/Debug”
“$SRCROOT/lib/Release”
,以获得适当的配置。

我认为最快的答案是:你不能。但我认为解决方案可能是提供一种方法来启用或禁用静态库本身中的日志。然后,您可以使用相同的lib,只要在需要为我执行soWorks时启用或禁用日志即可。谢谢为了进一步说明Mike的答案,如果您想要链接的是一个框架,您可以在其他链接器标记中使用“-framework SystemConfiguration”之类的东西。这对我来说只是部分有效。我想使用共享库(*.dylib)。通常,我在构建阶段->嵌入框架中为它设置了一个和条目,以便将lib放在bundle中。如何在这里选择正确的lib版本?