Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/44.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 尝试将SmartfoxServer框架与Kobold-2D项目一起使用时发生链接器错误_Objective C_Cocos2d Iphone_Kobold2d - Fatal编程技术网

Objective c 尝试将SmartfoxServer框架与Kobold-2D项目一起使用时发生链接器错误

Objective c 尝试将SmartfoxServer框架与Kobold-2D项目一起使用时发生链接器错误,objective-c,cocos2d-iphone,kobold2d,Objective C,Cocos2d Iphone,Kobold2d,在Kobold2d项目中尝试使用SmartfoxServer框架时,我们遇到以下错误: Undefined symbols for architecture i386: "_OBJC_CLASS_$_CCAsyncObject", referenced from: objc-class-ref in libcocos2d-extensions-ios.a(CCTextureCache+CCBigImageExtensions.o) ld: symbol(s) not found for arch

在Kobold2d项目中尝试使用SmartfoxServer框架时,我们遇到以下错误:

Undefined symbols for architecture i386:
"_OBJC_CLASS_$_CCAsyncObject", referenced from:
objc-class-ref in libcocos2d-extensions-ios.a(CCTextureCache+CCBigImageExtensions.o)
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 
发生这种情况的原因是,我们必须包含
-ObjC
链接器标志才能加载类别,这些类别是在SmartfoxServer框架中定义的。我已经了解到需要强制链接包含类别的静态库,但是SmartFoxServer框架不是静态库


有没有一种方法可以强制加载一个框架,使其包含所有类别而不使用
-ObjC
链接器标志?或者有没有一种方便的方法将框架转换为静态库?非常感谢您的帮助

除非您使用的是CCBigImage,否则您可以从目标中取消选择CCTextureCache+CCBigImageExtensions.h和.m文件

打开Kobold2D库项目并浏览到group/Extensions/CCBigImage。从菜单中选择查看->实用程序->文件检查器。选择每个文件并取消选中文件检查器中的目标复选框。现在这个特殊的类将不再被编译,错误也消失了


问题似乎是这个类别使用了一个只在实现文件中定义的私有类。不幸的是,强制加载整个cocos2d iphone extensions项目不是一个解决方案,因为这会带来其他错误。

除非您使用的是CCBigImage,否则您可以从目标中取消选择CCTextureCache+CCBigImageExtensions.h和.m文件

打开Kobold2D库项目并浏览到group/Extensions/CCBigImage。从菜单中选择查看->实用程序->文件检查器。选择每个文件并取消选中文件检查器中的目标复选框。现在这个特殊的类将不再被编译,错误也消失了


问题似乎是这个类别使用了一个只在实现文件中定义的私有类。不幸的是,强制加载整个cocos2d iphone extensions项目并不是一个解决方案,因为这会带来其他错误。

您是否确保已将其添加到目标中。您可以通过单击文件并使用右侧面板(inspector)来执行此操作。您是否确保已将其添加到目标中。您可以通过单击文件并使用右侧面板(检查器)来执行此操作。