Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.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
Objective c 如何解决未定义符号错误?_Objective C_Iphone_Shared Libraries - Fatal编程技术网

Objective c 如何解决未定义符号错误?

Objective c 如何解决未定义符号错误?,objective-c,iphone,shared-libraries,Objective C,Iphone,Shared Libraries,我犯了这个错误 Undefined symbols: ".objc_class_name_MyClass", referenced from: literal-pointer@__OBJC@__cls_refs@MyClass in infoViewController.o ld: symbol(s) not found collect2: ld returned 1 exit status 在引用下面的静态方法时: [MyClass ClickComment:self.navigatio

我犯了这个错误

Undefined symbols:
".objc_class_name_MyClass", referenced from:
  literal-pointer@__OBJC@__cls_refs@MyClass in infoViewController.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
在引用下面的静态方法时:

[MyClass ClickComment:self.navigationController];
MyClass是在我在应用程序项目中引用的静态库中定义的。当我开始键入“[MyClass”…”时,我会收到消息提示。应用程序项目知道MyClass存在以及在其上定义了哪些方法。但是,我会收到上述错误。注释掉此调用可以让项目无误地构建

在静态库中,我有一个引用库的所有.h文件的.h文件。这样,应用程序项目只需要引用静态库中的一个.h文件。静态库项目也有一个应用程序。我用它来测试静态库。我可以很好地完成上述调用。当静态库被调用时,我通常会看到这些类型的错误ary具有生成设备/调试版本,而应用程序项目具有生成模拟器/调试。但是,两个生成都是同步的


我知道存在引用问题,但我不确定如何解决。有什么建议吗?

这意味着头文件是在编译过程中找到的,但链接器不知道静态库。请确保静态库列在项目视图中的“Targets->YourMainTarget>Link Binary with Libraries”下


请参见

我现在已经让它工作了。主要是在MyClass的静态库中,我需要向MyClass.m添加几个#import语句。我发现这很奇怪,因为所有的#import语句都在上面提到的.h文件中,该文件由项目的PCH文件引用,我在库目标的编译头中看到了re仍然是一个断开的连接。