周末折腾了2天环境,主要是从windows迁移到mac上,提升逼格告别山寨,迈向专业化。首先,终于把pomelo的c客户端在xcode上跑起来了,至此已基本解决了网络连接问题。由于是第一次用mac开发,踩了无数个坑。

(一)libpomelo的编译安装不是用make而是gyp,gyp貌似下下来就可以了,不用安装,但是要修改环境变量。
(二)libpomelo依赖的两个库是libuv和jansson,这两个库已经被打包进libpomelo的源代码中了,可以一起编译出来,一共是三个静态库,没有动态库,但刚开始我以为要自己下载两个依赖库,于是从git上下了代码又自己编了一遍,浪费了很多时间,修改python安装脚本又用了下autoconf,坑爹。
(三)libpomelo编译时,要指定目标环境是模拟器,因为模拟器的架构是i386的,如果不指定,编出来的静态库没法用。源代码里的模拟器又是6.1的而我只有7.0的模拟器,还好改了脚本。
(四)把cocos2dx的libpomelo demo装进xcode,各种编不过,试了好几次才找全libpomelo和libuv jansson需要的头文件,链接时却又报错,看了下配置文件,原来是cocos2dx带的libcurl和websocket两个静态库都要手动配置到工程里,又是一番折腾。

经过这四个坑,终于把客户端启动起来了。
另外我在vs2012上写的游戏移植到xcode5上各种不兼容,除了代码检查更严格以外,粒子系统也不能运行,plist读取后有空指针,另外寻路代码因为是用模板写的,到xcode5上各种报错,更奇葩的是一个编译错误直接指向标准库的代码,这怎么查错呢?以后再也不用模板了。反正老代码的架构不行,干脆重写得了。学习不是盖楼,而是不断推到重来,god bless me!

迁移总结:

用模版时,NULL也要强转成模版参数类型

要用visibleSize和setPosition(visibleOrigin)

给Resources添加资源时,要create folder reference不能create groups
 
编译库的时候,一定要注意目标平台,ios模拟器的架构是i386的。如果编出来64位的库,就不能用在ios模拟器上!比如这个错误:Undefined symbols for architecture i386:
 

礼拜六在mac上装了ubuntu虚拟机,这个操作系统还是不尽人意,有时卡的要命,而且eclipse绝对是编码杀手,界面烂不说,c++的代码识别那是屎一样的存在,还不如没有,果断删了不用,可惜浪费了一天。
时间真是拿来挥霍的,90%的时间只干了10%的活,人艰不拆!

迁移到MAC的更多相关文章

  1. 虚拟机下linux迁移造成MAC地址异常处理办法

    虚拟机下linux迁移造成MAC地址异常处理办法 Linux无法启用网卡:Device eth0 has different MAC address than expected,ignoring解决 ...

  2. svn从windows迁移到mac

    http://my.oschina.net/grnick/blog/161424 一.备份VisualSVN项目 1. 现在要使用Linux作为svn服务器,之前是在windows Server 20 ...

  3. Mac OS X 背后的故事

    Mac OS X 背后的故事 作者: 王越  来源: <程序员>  发布时间: 2013-01-22 10:55  阅读: 25840 次  推荐: 49   原文链接   [收藏]   ...

  4. MAC OSX 下安装 CTAGS

    由于本子跟风换了骚货MBP,因而开发要迁移到MAC OSX下,mac os 下的ctags不一样,所以需要自己编译一个   Lion内置了ctags,但是不我所需要,因此得在网上去弄,最新的版本是 5 ...

  5. Mac OS X开发者准备工作

    迁移到Mac平台做开发后,需要有一系列的准备工作来使我们的工作更顺畅. 1. 安装Homebrew包管理器 苹果系统自带了一个包管理器,但是并不是很好用.现在,现在比较流行的是Homebrew,非常好 ...

  6. 【Mac】Mac OS X 安装GNU命令行工具

    macos的很多用户都是做it相关的人,类unix系统带来了很多方面,尤其是经常和linux打交道的人. 但是作为经常使用linux 命令行的人发现macos中的命令行工具很多都是bsd工具,跟lin ...

  7. [Mac]secureCRT私钥转换为mac ssh私钥

    工作环境从win迁移到mac后,win上原来用secureCRT生成的key,在mac的iterm2中不能兼容使用,导致无法再mac下登录.报错如下: key_load_public:invalid ...

  8. Mac下 如何配置虚拟机软件Parallel Desktop--超详细

    Mac下 如何配置虚拟机软件Pparallel Desktop--超详细 Mac 的双系统解决方案有两种,一种是使用Boot Camp分区安装独立的Windows,一种是通过安装Parallels D ...

  9. matplotlib在MAC系统下中文字体显示问题

    最近想把部分python数据分析的代码从win系统迁移到MAC上,有部分图片上涉及中文显示,迁移到MAC上warning: UserWarning: findfont: Font family [u' ...

随机推荐

  1. 【THUPC 2018】赛艇

    Problem Description Lavender.Caryophyllus.Jasmine.Dianthus现在在玩一款名叫"赛艇"的游戏. 这个游戏的规则是这样的: 玩家 ...

  2. 通过Ajax的访问zuul的跨域问题解决方案

    刚开始在使用jqueryajax跨域请求zuul网关时,在后台发现一直拿不到前台请求的json数据,而前台也一直拿不到后台的响应数据.打开浏览器调试程序发现,本身ajax的POST请求统一都变成了op ...

  3. 基于Git的数据库sql文件的管理——完美解决团队sql操作协同问题

    目录 基于Git的数据库sql文件的管理--完美解决团队sql操作协同问题 1.产生背景 2.之前没用Git管理数据库出现的问题 2.1 用同一个库调试带来的问题 3.解决方案 3.1 Sql文件的创 ...

  4. 利用openssl自建CA体系

    使用 OpenSSL 创建私有 CA:1 根证书 使用 OpenSSL 创建私有 CA:2 中间证书 使用 OpenSSL 创建私有 CA:3 用户证书 今天跟着上面的三部曲,做了一下openssl的 ...

  5. Penetration testing“Linux install Nessus”

    Ax_Download www.tenable.com/products/nessus-home,need sent email. Bx_Install su ls dpkg -i [filename ...

  6. 一些webpack常见编译报错的解决方案

    重新安装依赖可以解决80%的webpack编译报错问题. rm -rf node_modules rm package-lock.json npm cache clear --force npm in ...

  7. Cocos2d-x 点击菜单按键居中放大(无需修改底层代码)

    建议转至该处阅读 https://www.zybuluo.com/tangyikejun/note/21953 配置环境:win7+Cocos2d-x.2.0.3+VS2012 目标读者:已经了解Co ...

  8. java学习路线推荐,希望能帮到你

    很多小白刚开始学习java时,肯定迷惘过,因为对java基本是啥也不懂的,一直想知道java的具体学习路线,我曾经也看了许许多多的java经验分享的帖子,评论,以及其他各种培训机构所谓的学习路线,特别 ...

  9. SpringBoot条件注解的总结

    https://blog.csdn.net/qq_31142553/article/details/86439950

  10. asp开发类型判段

    Asp的东西有许多,asp的类型便是其中之一,如同Asp的数据类型只需一个那便是"variant ". 它是一种特别的数据类型可以依据它的运用标明许多不同品种的信息(cnhfjj) ...