• 一、file was built for archive which ...项目是基于cocos2d-x绑定lua进行开发的,需要引用liblua.a静态库,编译的时候报上面的错。需要将liblua项目中的build Settings配置项中的“Build Active Architecture Only”

    一、file was built for archive which is not the architecture being linked (armv7s)

    项目是基于cocos2d-x绑定lua进行开发的,需要引用liblua.a静态库,编译的时候报上面的错。需要将liblua项目中的build Settings配置项中的“Build Active Architecture Only”改为YES  (是否只编译当前适用的指令集)

     

    关于这个属性,直接从网上转载过来(关于Build Active Architecture Only属性)

    这个属性设置为yes,是为了debug的时候编译速度更快,它只编译当前的architecture版本。
    而设置为no时,会编译所有的版本。
    这个是设备对应的architecture:
    armv6:iPhone 2G/3G,iPod 1G/2G
    armv7:iPhone 3GS/4/4s,iPod 3G/4G,iPad 1G/2G/3G
    armv7s:iPhone5, iPod5

    编译出的版本是向下兼容的,比如你设置此值为yes,用iphone4编译出来的是armv7版本的,iphone5也可以运行,但是armv6的设备就不能运行。

     

    目前IOS的指令集

    armv6    iPhone、iPhone2、iPhone3G、第一代和第二代iPod Touch

    armv7    iPhone4、iPhone4S

    armv7s   iPhone5、iPhone5C

    arm64    iPhone5S

     

    二、宏定义

    c++代码中很多地方是通过宏控制的,所有对于宏的检查要很仔细。Debug、Release二个版本的宏定义是不一样的,要注意有所区别。所以这里定义出了问题,那自然build测试时跟预期的不一样,而且很难定位问题

     

    三、Search Path

    这里很容易出错,比如接入第三方SDK时需要引入相应的.framework文件。这里的路径最好使用相对路径(比如使用${SRCROOT}),以避免切换另外一台mac时用户名不一致导致无法编译,需要重新修改路径的问题。

    头文件,这里记得补全,不然编译时就会报找不到头文件…

    最后一个Library Search Paths比较坑,被这个坑了比较长时间。我使用workspace跟直接打开xcodeproject生成的静态链接库路径不一样,然后切换的时候,在这里并未删除相应的路径,导致一直优先从旧的.a库中查看,结果可想而知。无论我怎么去清理、重新编译,都无法看到改动后的效果

    …/xx.a

    ../xx/xx.a

    它会优先找上面的xx.a,然后再找xx下的xx.a。如果在xx.a中找到对应的方法,就不再往下查找了,所以这里就有坑了…

    一般这里会按照这样的格式输入路径“$(SRCROOT)/../libs/Release$(EFFECTIVE_PLATFORM_NAME)”

    $(SRCROOT)宏代表您的工程文件目录,$(EFFECTIVE_PLATFORM_NAME)宏代表当前配置是OS还是simulator

     

    四、LLVM的编译参数

     

    一般都采用默认的,有一些特殊的SDK,则需要修改相应的选项。

    还有一个就是Other Linker Flags的参数设置,根据需要进行设置(点击查看Other Linker Flags详解>>)

     

    五、向工程中添加文件时的选择

    Create groups for any added folders 与 Create folder references for any added folders

    上面这张图已经描述比较清楚了,如果想了解更详细的,可以参数这里:Cocos2d-x Create groups for any added folders 与 Create folder references for any added folders

     

    Copy items into destination group’s folder一般在debug时是不会选中的,多数情况下我们使用"references”较为,创建组的方式,添加的文件(如cpp)会被编译。

     

    暂时就想到这几个坑了,还有很多坑,有空再一并整理出来。新手上路,总归遇到的问题会比较多

    来自:http://www.cnblogs.com/meteoric_cry/p/3720831.html

    展开全文
  • 在网上找了下关于xcode打包cocos2dx-lua工程的文章,相对来说比较少,更多的资源来自于google搜索。打开cocos2dx runtime-src/proj.ios_mac工程,需要先加载 prefix.pch和cocos2d.pch文件,如果在本地文件里面查找...

    在网上找了下关于xcode打包cocos2dx-lua工程的文章,相对来说比较少,更多的资源来自于google搜索。打开cocos2dx runtime-src/proj.ios_mac工程,需要先加载

    prefix.pch和cocos2d.pch文件,如果在本地文件里面查找不到,需要自己新建文件。另外由于cocos2dx的生成的ios工程版本跟xcode的工程版本有可能不一致,导致部分

    变量类型没有声明定义,需要自己去手动添加头文件。构建的时候还有可能出现“goto Exit”出错的问题,这时候需要把这语句单独作为一行来表示,如果还不行,可以拷贝

    Exit上的代码然后替换它。今天花了几个小时的时间工程终于算构建成功了,这里先做个记录。

    展开全文
  • 刚用mac不久,今天用xcode打开cocos2d-x新建项目,编译成功后不自动运行模拟器,纠结了很长时间,终于在别人的解惑下,找到了问题的根源所在 在xcode面板的左上角,有选项,编译的是cocos2d-x引擎还是自己...

    刚用mac不久,今天用xcode打开cocos2d-x新建项目,编译成功后不自动运行模拟器,纠结了很长时间,终于在别人的解惑下,找到了问题的根源所在



    在xcode面板的左上角,有选项,编译的是cocos2d-x引擎还是自己的项目。。。这里我就不贴图了,大家应该都知道,不过对于像我这种刚用mac的人来说,还是挺纠结的



    突然想起来今天在QQ空间看到的一张图,




    展开全文
  • 工具:mac OSX系统,xcode7.2,cocos3.10版本,phones apk的打包  在cocos Stdio中就可以打包apk了,配置好相关的环境,一键打包就可以,和windows下的步骤一样。(我是用一键配置的功能) ipa的打包  这个要...

    工具:mac OSX系统,xcode7.2,cocos3.10版本,phones

    apk的打包

          在cocos Stdio中就可以打包apk了,配置好相关的环境,一键打包就可以,和windows下的步骤一样。(我是用一键配置的功能)

    ipa的打包

          这个要开发者证书才行,不过xcode7可以免证书打包,只是最后出来的ipa不是受信任的程序,需要你手机里添加信任而已。下面说说免认证的方法。

          首先用xcode打开你的项目,选择code-preference-accounts-添加一个账户,随便你的一个苹果id就行。


          然后,我们点击项目,在general里面把team选成刚才我们自己设置的那个,点击下面的fix issue修复,然后可能会提示identifier不合法,改一个名字就行了,这里如果提示No code signing identis found一定要选择设备generic iOS device,还不行的话就要连接真机,然后点击修复就行了。


    然后我们点击product-archive,生成成功之后会弹出archive的文件(也可以在window-organizer中找),右键在finder中显示


    这个文件实际上是一个文件包,我们右键显示包内容,在product-applications里面找到一个应用程序

    然后打开Itunes,选择左上角的应用,把这个app拖到Itunes里面,然后再右键它在finder中显示,就可以出现我们的.ipa文件了。

    关于.ipa文件的安装

           我们这时生成的.ipa如果发到iphone手机上面,是不能打开的,但是我们可以在itunes上安装,将手机连接到mac上后,在itunes左上角的文件里可以和设备同步,在iphone应用里可以安装应用。

          如果你测试是连接到手机上选择真机测试的话,会在手机上安装一个你测试的app的,但是这里你要打开设置-通用-设备-添加信任才能运行。

    展开全文
  • 命令行打包出错:Update xcode please. 解决方法: 打开引擎下目录文件 …/Cocos2d-x/cocos2d-x-3.10/tools/cocos2d-console/plugins/plugin_compile/project_compile.py 找到以下代码: def check_ios_mac_build_...

    命令行打包出错:Update xcode please.
    解决方法: 打开引擎下目录文件 …/Cocos2d-x/cocos2d-x-3.10/tools/cocos2d-console/plugins/plugin_compile/project_compile.py

    找到以下代码:

       def check_ios_mac_build_depends(self):
            version = cocos.get_xcode_version()
    
            if version <= '5':
                message = MultiLanguage.get_string('COMPILE_ERROR_UPDATE_XCODE')
                raise cocos.CCPluginError(message, cocos.CCPluginError.ERROR_TOOLS_NOT_FOUND)
    

    修改为:

    def check_ios_mac_build_depends(self):
        version = cocos.get_xcode_version()
    
        # if version <= '5':
        #     message = MultiLanguage.get_string('COMPILE_ERROR_UPDATE_XCODE')
        #     raise cocos.CCPluginError(message, cocos.CCPluginError.ERROR_TOOLS_NOT_FOUND)
    

    然后由遇到:system(command.c_str()) 报错,解决如下:

    bool FileUtils::removeDirectory(const std::string& path)
    {
    #if !defined(CC_TARGET_OS_TVOS)
    //     std::string command = "rm -r ";
    //     // Path may include space.
    //     command += "\"" + path + "\"";
    //     if (system(command.c_str()) >= 0)
    //         return true;
    //     else
    //         return false;
    
        bool ret = true;
        DIR *pDir;
        dirent *ent;
        char childpath[512] = {0};
    
        pDir = opendir(path.c_str());
        if (!pDir)
            return ret;
    
        while ((ent = readdir(pDir)) != NULL)
        {
            if (ent->d_type & DT_DIR)
            {
                if (strcmp(ent->d_name, ".") == 0 || strcmp(ent->d_name, "..") == 0)
                    continue;
    
                sprintf(childpath, "%s/%s", path.c_str(), ent->d_name);
                if (!FileUtils::removeDirectory(childpath)){
                    break;
                }
            }
            else
            {
                std::string str_file = path + "/" + ent->d_name;
                remove(str_file.c_str());
            }
        }
        closedir(pDir);
        remove(path.c_str());
        return ret;
    #else
        return false;
    #endif
    }
    

    重新打包没问题了

    展开全文
  • coco2dx版本:cocos2d-x-3.13.1 二、打包步骤 1.在xcode的工程上单击,选择右侧的General->Signing下的Team,将其进行设置为自己的账号。 2.运行xcode中的工程没有错误之后,选择xcode的Product-->Scheme->Ed
  • 1.首先创建项目.可能是系统更新的原因,...将 /Users/liyongchuang/Documents/cocos/cocos2dx3.6/tools/cocos2d-console 路径写到 ~/.bash_profile 文件中  export PATH=${PATH}:/Users/liyongchuang/Documents/ad
  • 1、路径问题:打ipa遇到一个问题,提示找不到头文件 这两个文件中的绝对路径修改为 ...2、在使用xcode打包前,需要生成构建目录--也就是先打一个Android包,不然使用xcode找不到ios项目目录 构建选择 ...
  • 这是一个如何把Xcode工具开发的Cocos2dx 游戏打包成Android程序包的详细步骤文档。
  • 点击Distribute App,选择App Store 选择Upload 默认勾选 选择创建的发布证书 点击upload 等待一会,出现下面页面 上传成功
  • XCode 命令行打包命令

    2019-05-21 20:16:48
    1. 列出项目信息 xcodebuild -list -project <your_project_name>...2. 打包 1. cd到项目对应xcodeprj目录 2.xcodebuild -scheme <Schemes 名>build -- Schemes可以在上面的命令中查看到 ...
  • 由于管理公司游戏项目ios的打包,且都是cocos2dx项目。经常碰到各种各样的问题,打算以后碰到的问题记录下来... 1.这个是折腾了我挺久的一个问题 Undefined symbols for architecture armv7: "cocos2d::...
  • xcode8 打包证书问题

    2016-10-31 11:36:51
    中秋节项目要发布,临时在家里电脑打包,发现证书一直识别失败。 仔细看了Xcode的配置。尼玛Build Setting里原有的证书设置 居然Deprecated了。 然后工程一直打包失败,Target - General 里各种红色感叹号...
  • 据说iOS8需要使用XCode6.1打包,因为还未升级,暂时研究了几天,先把笔记整理下,以备以后使用方便,由于本人没有iphone,没有苹果企业证书,所有的东西都是东拼西凑的,所以打包成的ipa没有真机测试。如果失败,那...
  • 本站文章均为 李华明Himi 原创,转载务必在明显处注明:转载自【黑米GameDev街区】 原文链接: ...cocos2dx最新2.0.1版本跨平台整合NDK+XcodeXcode编写&编译代码,Android导入
  • 早上手贱,更新了xcode11,更新完发现cocos2dx项目运行不了了,编译错误,btMatrix3x3.h第861行bt_splat_ps报错,因为xcode11刚出来,网上搜了一下,并没有解决方案,于是就想重新下载10.3,但是真的下载太慢了。...
  • 如题,还是因为刚刚开始用xcode开发不熟悉的原因,走了很多弯路 ...起初是为了适应ios各种设备的分辨率而新增了一个iphonehd的文件夹,可是因为只在finder里面进行了添加,并没有在工程目录中进行添加,导致app在...
  • cocos2d-x学习笔记11:xcode下编译运行helloworld #1 下载和安装xcodexcode是mac系统专有的ide,所以你得想法子弄个mac环境。) 首先,下载xcode,推荐4.2版本,体积小,内容也新。(不过要注意操作系统...
  • 首先通过在终端输入 cocos new -d 工程路径 -l lua -p 包名 工程名 例如:cocos new -d /Users/zcx/Desktop/workspace -l lua -p com.my.game myLua  就可以创建一个支持Lua的cocos2d-x工程。
1 2 3 4 5 ... 20
收藏数 1,681
精华内容 672
热门标签