Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.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 链接器在静态库中找不到函数或类(目标C) 我有一个XCODE 4.2工作空间,包含COCOS触控静态库(混合目标C、目标C++和C++)和COSCO2D iOS应用程序。静态库和iOS应用程序都是兄弟_Objective C_Xcode - Fatal编程技术网

Objective c 链接器在静态库中找不到函数或类(目标C) 我有一个XCODE 4.2工作空间,包含COCOS触控静态库(混合目标C、目标C++和C++)和COSCO2D iOS应用程序。静态库和iOS应用程序都是兄弟

Objective c 链接器在静态库中找不到函数或类(目标C) 我有一个XCODE 4.2工作空间,包含COCOS触控静态库(混合目标C、目标C++和C++)和COSCO2D iOS应用程序。静态库和iOS应用程序都是兄弟,objective-c,xcode,Objective C,Xcode,问题是应用程序的链接器在尝试链接到静态库中的函数和类时失败。该应用程序的静态库设置为“链接二进制库”。这就好像静态库中的函数和类要么没有被导出,要么没有被应用程序查找 例如,我创建了一个函数intfoo(){return 42;}并将其放入库中,然后从应用程序中的main.m调用它 错误如下所示: Undefined symbols for architecture armv7: "_OBJC_CLASS_$_RootViewController", referenced from:

问题是应用程序的链接器在尝试链接到静态库中的函数和类时失败。该应用程序的静态库设置为“链接二进制库”。这就好像静态库中的函数和类要么没有被导出,要么没有被应用程序查找

例如,我创建了一个函数
intfoo(){return 42;}
并将其放入库中,然后从应用程序中的
main.m
调用它

错误如下所示:

Undefined symbols for architecture armv7:
  "_OBJC_CLASS_$_RootViewController", referenced from:
    objc-class-ref in AppDelegate.o
  "_foo", referenced from:
    _main in main-972D78D1B1575F1.o
  "_OBJC_CLASS_$_CCDirector", referenced from:
    objc-class-ref in AppDelegate.o
    objc-class-ref in libCocos2DBase.a(BaseScene.o)
    objc-class-ref in libCocos2DBase.a(Director.o)
  "_OBJC_CLASS_$_CCLayer", referenced from:
    _OBJC_CLASS_$_FoundationLayer in libCocos2DBase.a(BaseScene.o)
  "_OBJC_METACLASS_$_CCLayer", referenced from:
    _OBJC_METACLASS_$_FoundationLayer in libCocos2DBase.a(BaseScene.o)
  "_OBJC_CLASS_$_CCTexture2D", referenced from:
    objc-class-ref in AppDelegate.o
  "_OBJC_CLASS_$_EAGLView", referenced from:
    objc-class-ref in AppDelegate.o
  "_OBJC_CLASS_$_CCScene", referenced from:
    objc-class-ref in libCocos2DBase.a(BaseScene.o)
ld: symbol(s) not found for architecture armv7
collect2: ld returned 1 exit status

非常感谢任何能提供帮助的人,我是XCode新手,花了很多时间寻找解决方案。

看起来您的静态库不是为armv7架构编译的,而使用它的应用程序是,因此它找不到合适的符号。尝试编译armv7的静态库(或者如果您没有源代码,请查看是否可以让开发人员为armv7编译该库)。

看起来您的静态库不是为armv7体系结构编译的,而使用它的应用程序是,因此找不到正确的符号。尝试编译armv7的静态库(或者如果没有源代码,请查看是否可以让开发人员为armv7编译它)。

这很可能是正确的。我尝试为emulator(i386构建)和设备构建,似乎库和应用都是为架构构建的。我删除了静态库项目,并从头开始重新创建它,解决了这个问题,所以我不知道它到底是什么。很可能这是正确的。我尝试为emulator(i386构建)和设备构建,似乎库和应用都是为架构构建的。我删除了静态库项目,并从头开始重新创建了它,解决了这个问题,所以我不知道它到底是什么。