1

我有一个现有的项目,我在其中使用多个框架。Xcode 可以很好地编译它,但是当适当的负载编译它时,它会给出很多错误

>> error: undefined reference to 'OBJC_CLASS_$_CCScaleTo' 
>> error: undefined reference to 'OBJC_CLASS_$_CCMenuItemToggle' 
>> error: undefined reference to 'OBJC_CLASS_$_CCFadeTo' –
>> '#import "CJSONDeserializer.h" not found 
>> NSRegularExpressionSearch uncdeclared 
>> ushort undeclared etc 

有很多这样的错误请帮忙

/Users/Tashfeeen/Desktop/Development/IosKoH/Classes/Platform/MafiaFarmAppDelegate.h:12:9: 

fatal error: 
  'FacebookSDK/FacebookSDK.h' file not found
#import <FacebookSDK/FacebookSDK.h>`
4

1 回答 1

2

根据未定义的引用,似乎该项目没有被 cocos2d 的目标选中。这通常是由具有许多子目标项目的变化引起的。你可以检查你的 .approj/targets 是否有 cocos2d 目标,你可以添加到你的 .approj/configuration.json

"modules": [
    {
        "project": "MyProject", 
        "build_cwd": "./", 
        "target": "cocos2d library", 
        "project_config": "Release"
    }
],

如果此目标不可用,您可以手动将 cocos2d 文件添加到 .approj/configuration.json 的 add_params 部分下

"sources" : [
    "libs/cocos2d/Platforms/Mac/CCDirectorMac.m",
    "libs/cocos2d/Platforms/Mac/CCEventDispatcher.m",
    ...
]

目前我们还没有在公共 SDK 中启用 NSRegularExpressionSearch,通常这些可以更改为标准字符串搜索。不幸的是,支持这一点意味着我们必须打包 icu4c,它可以为应用程序增加相当多的二进制大小;我们正在努力将其降低到合理的水平,以便我们可以将其打包到所有版本中。

根据 Facebook 标头,您可能正在使用二进制 Facebook 框架,如果没有独立版本,它将无法工作。话虽如此,如果 Facebook SDK 作为子项目包含在您的项目中,您可以从源代码编译它。

于 2013-06-26T18:01:40.473 回答