6

编辑:我认为任何构建配置设置都可能存在这个问题,而不仅仅是OTHER_LDFLAGS我已经相应地更改了标题并从问题中删除了不相关的细节。

我有一个简单的 Xcode 项目 MyApp。MyApp.xcconfig 设置为 Debug 构建的配置文件。它有一行:

OTHER_LDFLAGS = -force_load /foo/bar

虽然它知道 MyApp.xcconfig 设置OTHER_LDFLAGSXcode 不想使用该设置。一个空格,而不是 MyApp.xcconfig 中的值,在构建设置中以绿色突出显示(请参阅标记为“其他链接器标志”的底部行):

在此处输入图像描述

为什么会这样?从我读过的内容来看,已解决的设置似乎应该是 .xcconfig 文件中的设置。有没有办法做到这一点?

我还发现 xcconfig 中的其他设置确实可以解决。但不是OTHER_LDFLAGS

4

1 回答 1

7

在 MyApp 的文件中,问题构建设置(在本例OTHER_LDFLAGS中为 )被分配了一个空字符串。Xcode 看到该分配,而不是忽略它,而是覆盖您的 xcconfig 设置。解决方法是删除.""project.pbxprojproject.pbxproj

• 从命令行, MyApp.xcodeproj/project.pbxproj在文本编辑器中打开,例如 Vim。在其中,您将看到 Xcode 保留了构建 MyApp 所需的大量信息,包括您在 Xcode 的 UI 中设置的构建配置设置。

• 滚动到XCBuildConfiguration section。在那里你会看到你的问题构建设置(在这种情况下OTHER_LDFLAGS)被分配了一个空字符串。删除该行并保存文件。

/* Begin XCBuildConfiguration section */
            .
            .
            .
            3729FD9E18B776ECB0A1990 /* Debug */ = {
                    isa = XCBuildConfiguration;
                    baseConfigurationReference = 4820F7A08BBB17C8164733A /* MyApp.xcconfig */;
                    buildSettings = {

                       /// delete this line ///
                         OTHER_LDFLAGS = "";

                    };
                    name = Debug;
            };
            .
            .
            .
/* End XCBuildConfiguration section */
于 2015-10-23T18:47:05.303 回答