带有Xcode的iOS的链接标志



在哪里可以找到可以在xcode中为iOS项目指定的编译器标志和链接标志上的文档?

我想首先要阅读更多可能的标志的原因是Google Admob SDK说我们必须设置Linker -OBJC标志,而Facebook SDK建议不要将其设置为较小的二进制文件。因此,我想知道,我们可以为特定库(在这种情况下为Google Admob)设置OBJC,并为另一个库(Facebook)设置它吗?我希望能够找到有关编译器和链接器选项的内容,然后找到一个人页面,然后放大OBJC。关于如何在Xcode中设置Linker标志的文档和堆叠式帖子等。缺少的是我们可以设置的可能的链接标志的列表,它们每个人的含义。

出乎意料的是,谷歌搜索使我感到非常困惑,因为Clang,LLVM,LLVM -GCC等上有东西,LLVM网站列出了许多LLVM命令,但我看不到任何相应的OBJC页面。除了编译器和链接器是否是clang或llvm的问题,还是他们所谓的任何问题,我们是否可以使用一个地方来读取有关XCode当前正在使用的任何内容来编译和链接iOS项目的文档?(例如,XCode 4.6和Xcode 5.0.2,以防万一DOC集合?)谢谢!

您可以尝试man 1 ld。对于-ObjC标志,描述为:

-OBJC加载所有静态存档库的成员 实施Objective-C类或类别。

编辑

对于您有关ADMOB SDK和Facebook SDK的另一个问题,我建议将-OBJC添加到链接器标志中,并查看本文解释原因。基本上Facebook建议不使用它,因为由于加载到二进制中的其他对象代码,您的可执行文件最终会变大。

我在.hpp文件中放置功能时遇到了这个问题。

void logError(char const* szError)
{
    ...
}

我不得不添加内联才能使其正常工作。

inline void logError(char const* szError)
{
    ...
}

最好不要定义标题内的功能。

最新更新