Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/100.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
Ios 在Xcode中编译源代码的目的是什么? 在Xcode中编译源代码的目的是什么 您的项目中的每个文件都需要放在那里吗 如果我将文件添加到项目中,是否 每个文件都被添加到编译源代码中_Ios_Xcode - Fatal编程技术网

Ios 在Xcode中编译源代码的目的是什么? 在Xcode中编译源代码的目的是什么 您的项目中的每个文件都需要放在那里吗 如果我将文件添加到项目中,是否 每个文件都被添加到编译源代码中

Ios 在Xcode中编译源代码的目的是什么? 在Xcode中编译源代码的目的是什么 您的项目中的每个文件都需要放在那里吗 如果我将文件添加到项目中,是否 每个文件都被添加到编译源代码中,ios,xcode,Ios,Xcode,假设您的项目中有多个目标,并且每个目标中只需要一些代码,那么您可以根据需要删除/添加编译源代码。它基本上是一个源代码文件列表,在构建目标时将传递给编译器 例如,我可以设置一个目标,将我的代码的子集a构建到一个静态库中,然后另一个目标构建子集B,链接到另一个目标构建的库,并将第一个目标指定为目标依赖项,这样,如果我构建目标B,Xcode将首先构建目标a。 在Xcode中编译源代码的目的是什么 其目的是通知编译器在构建目标的过程中应编译哪些源文件(例如.m文件) 关于何时可以编辑“编译源代码”的几个

假设您的项目中有多个目标,并且每个目标中只需要一些代码,那么您可以根据需要删除/添加编译源代码。它基本上是一个源代码文件列表,在构建目标时将传递给编译器

例如,我可以设置一个目标,将我的代码的子集a构建到一个静态库中,然后另一个目标构建子集B,链接到另一个目标构建的库,并将第一个目标指定为目标依赖项,这样,如果我构建目标B,Xcode将首先构建目标a。

在Xcode中编译源代码的目的是什么

其目的是通知编译器在构建目标的过程中应编译哪些源文件(例如.m文件)

关于何时可以编辑“编译源代码”的几个实际示例:

  • 除了Idles在项目中包含或排除多个目标的源之外,另一个可能从“编译源”中排除源的真实场景是当您使用提供源代码的第三方库(或一组类)时,但您希望控制在项目中编译哪些源代码

    例如,如果使用,则将源代码复制到项目中,但其中包含一个示例
    fmdb.m
    文件,该文件说明了如何使用fmdb,但您不希望将其编译为应用程序的一部分。您可以(甚至可能想要)从您的项目中完全删除
    fmdb.m
    ,但您也可以从编译源中删除该文件,这样您就有了一个很好的示例,说明如何使用这些类,但它不会作为项目的一部分进行编译

    另一个现实世界的例子是,如果您使用该框架,并且在项目中包含了源代码。但是,您可能不需要
    MKAnnotationView+WebCache
    类别,在这种情况下,如果不使用maps和
    MKAnnotationView
    类,您可能希望将其从“编译源代码”中删除。如果您在项目中保留该链接,如果您没有将项目与MapKit.framework链接,则可能会收到链接器警告。如果不使用MapKit,只需从编译源代码中删除
    MKAnnotationView+WebCache
    ,即可轻松解决链接MapKit.framework的问题(如果您可能不需要它)

  • 另一次使用“编译源代码”时,您需要为某个特定的源文件设置编译器标志。例如,如果您有一个圆弧项目,但有一些非圆弧代码。您可以进入“编译源代码”,选择非ARC.m文件,并设置
    -fno objc ARC
    标志,如中所述

  • 如果曾经将文件添加到项目中,但意外地忽略了选择“添加到目标”选项,则在生成目标时不会编译这些源文件。但是您可以进入“编译源代码”并将这些源代码文件添加到要编译的文件列表中,它们随后将包含在目标的未来构建中

  • 你问:

    您的项目中的每个文件都需要放在那里吗

    不,只需编译您要编译的每个源文件(例如.m文件)。不是标题。不是资产。只需要编译源代码

    如果我将文件添加到项目中,是否每个文件都会添加到编译源代码中

    如果在添加文件时单击“添加到目标”复选框,则.m文件将添加到“编译源代码”中,而资源将添加到“复制捆绑资源”中,等等。否则,它们将不会添加


    嗯,如果你没有任何来源,你会编译什么?(提示:打开右侧的“资源管理器”窗格,同时打开左侧的“导航器”,然后查看与“源”中列出的文件相对应的资源管理器设置。)