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构建)和设备构建,似乎库和应用都是为架构构建的。我删除了静态库项目,并从头开始重新创建了它,解决了这个问题,所以我不知道它到底是什么。