1

对所有人

在我的 iphone 游戏中,我想添加外部 .h 和 .a 文件。我通过使用 Xcode 中给出的添加项目选项来添加它们。它被添加了,但我想调用头文件中给出的方法。根据给我们的指令,我们必须调用一个在外部头文件中声明的方法。我们必须在 AppDelegate 的 applicationDidFinishLaunching 方法中调用该方法。但是在编译时,它给出了一个错误,引用自:并且找不到符号。我不明白如何调用此方法以及如何引用该方法。

我正在发送一个链接,请查看。我的应用程序也出现了同样的问题。

http://forums.macrumors.com/showthread.php?t=443437

在这三个屏幕截图中,一些 toddburch 在 2009 年 1 月 24 日上午 7:37 给出了我的方法的相同错误,但我的代码在 Cocoa 中,objective-c 不在 ruby​​ 中。

如果有人知道解决方案,请尽快回复我。

4

3 回答 3

1

.h 是不够的。您还需要实现,源代码或编译框架。

于 2009-03-18T12:53:04.903 回答
0

您目前有两个文件

  • 描述第三方库中可用的类和函数的 *.h 头文件
  • *.a 静态库文件,其中包含 *.h 文件描述的函数的预编译代码。

假设您已经到了可以#include 或#import "xyz.h" 并编译您的应用程序的阶段,那么缺少的一点是将您的可执行文件与 *.a 文件链接起来。

未找到符号错误消息是链接器告诉您它知道您的某些代码正在调用特定函数,但它当前无法找到提供该函数实现的另一个代码模块。

要检查的一件事是您的 *.a 文件在您的项目中正确配置以传递给链接器。一种方法是展开 XCode 主窗口的“Targets”部分。如果您深入到代表您的应用程序的部分,您应该会看到一个标有“Link Binaries with Libraries”的子节点。应该列出您的 *.a 文件,如果不是一种添加方法,只需将文件拖放到此部分即可。

于 2009-10-21T22:43:18.887 回答
0

您是否有权访问源代码本身?尝试将 .h 和 .m/.c 文件从框架目录直接拖到您的项目中。这有点乱,但我认为它会根据您收到的错误消息解决您的问题。您可以将它们全部放在一个组中,这样在您将它们拖过来后,您的项目就不会显得那么拥挤,如果您愿意的话。

于 2009-07-15T11:24:06.943 回答