【问题标题】:Failing to link C code into Objective C: Undefined symbols for architecture arm64未能将 C 代码链接到目标 C:架构 arm64 的未定义符号
【发布时间】:2019-07-13 08:20:46
【问题描述】:

我的 XCode 项目中有一些 C 代码(使用 Objective C)。我将 C 文件包含到 MyHost.m 文件中,如下所示:

#include <my_code.h>

然后这样称呼它:

my_function();

我已经设置了我的项目设置,以便 Header Search Paths 设置包含包含我的 C 代码的目录。但是,当我构建时,会出现这样的错误:

Undefined symbols for architecture arm64:
  "_my_function", referenced from:
      -[MyHost run] in MyHost.o

为什么链接器无法链接到 C 代码?

更新:我之所以选择使用#include &lt;file.h&gt; 而不是#include "file.h",是因为后者无法解析文件。我发现 this related question 表明 XCode 应该找到我的头文件,而不管项目结构如何。它不是。即使删除并重新添加文件后,它仍然无法解决它。

【问题讨论】:

    标签: c objective-c xcode linker


    【解决方案1】:

    我已将文件添加为文件夹而不是组。组被 XCode 展平,因此可以直接包含在内。文件夹不是(但我仍然无法通过指定完整路径来包含)。组在项目视图中显示为黄色图标,而文件夹显示为蓝色。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-10-13
      • 1970-01-01
      • 2021-12-31
      • 2021-08-23
      相关资源
      最近更新 更多