在xcode 4中,“其他c标志”和“其他c++标志”有啥区别?

Posted

技术标签:

【中文标题】在xcode 4中,“其他c标志”和“其他c++标志”有啥区别?【英文标题】:In xcode 4, what's the difference between "other c flags" and "other c++ flags"?在xcode 4中,“其他c标志”和“其他c++标志”有什么区别? 【发布时间】:2012-03-06 00:59:49 【问题描述】:

另外,是否直接将它们列在相应标签的对面设置它们以进行调试和发布?

【问题讨论】:

【参考方案1】:

Xcode 帮助提供了相当清晰的定义:

名称:其他 C 标志

摘要: 以空格分隔的附加标志列表,用于传递给 C 和 Objective-C 文件的编译器。确保对任何包含空格或特殊字符的参数进行反斜杠转义(例如,可能包含空格的路径名)。如果 Xcode 尚未为特定的 C 或 Objective-C 编译器标志提供 UI,请使用此设置。 [OTHER_CFLAGS]

名称:其他 C++ 标志

摘要: 以空格分隔的附加标志列表,用于传递给 C++ 和 Objective-C++ 文件的编译器。确保对任何包含空格或特殊字符的参数进行反斜杠转义(例如,可能包含空格的路径名)。如果 Xcode 尚未为 C++ 或 Objective-C++ 编译器标志提供 UI,请使用此设置。 [OTHER_CPLUSPLUSFLAGS]

所以在编译 C 和 Obj-C 源文件时,“其他 C 标志”会传递给编译器。编译 C++ 和 Obj-C++ 源文件时,会将“Other C++ Flags”传递给编译器。

关于你的第二个问题:是的。您可以通过点击“其他 C 标志”左侧的显示三角形,然后将所需标志放在与所需配置相对应的行上,为调试或发布或其他配置指定标志。

【讨论】:

【参考方案2】:

编译 C 和 Objective-C 源文件时使用 C 标志。编译 C++ 和 Objective-C++ 源文件时使用 C++ 标志。它们类似于make 中的CFLAGSCXXFLAGS

恐怕我不知道调试与发布版本,但我想它们会在这两种情况下使用。当然,您可以轻松地尝试一下。

【讨论】:

以上是关于在xcode 4中,“其他c标志”和“其他c++标志”有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章

在 Swift 中使用编译器变量

在 xcode 4 中打开 xcode 3.2 VST 项目

XCode 4、Armadillo 和 XCode 标准库

如何在 Xcode 4.0.2 中使用 iOS SDK 4.2

在 Xcode 4 中链接和编译犰狳

在最新的 Xcode (4.5) 中使用 iPad 1 进行开发和调试,如何?