周末折腾了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. 【nagios监控】基于linux搭建nagios监控

    nagios工作原理 nagios的功能是监控服务和主机,但是其自身并不包括这些功能,所有的监控.检测功能都是通过各种插件来完成的. 启动nagios后,它会周期性的自动调用插件去检测服务器状态,同时 ...

  2. 解决Entity 实体类中加了@Id 注解后仍然出现org.hibernate.AnnotationException: No identifier specified for entity 错误

    启动报错如下图所示: 解决方案: 查看网上的资料,大部分都说在实体类中没有添加加主键的注解@Id,这个是必须的.但是我的实体类中明明已经添加了@Id,为什么还会报这个错误呢? 后来检查了很久,发现是我 ...

  3. WebShell代码分析溯源(七)

    WebShell代码分析溯源(七) 一.一句话变形马样本 <?php $e = $_REQUEST['e'];$arr = array($_POST['POST'],);array_map(ba ...

  4. JavaScript Map 和 Set

    结论 Map:存放键值对,区别于 Object,键可以是任何值. Set:存放不重复的值 Map 存储键值对,读取时与插入顺序一致. var map = new Map([[1, "1&qu ...

  5. Ajax异步按下回车提交表单

    作者:故事我忘了¢个人微信公众号:程序猿的月光宝盒 html <form id="findInvis"> 帖子标题: <input title="请输入 ...

  6. Flask 特殊装饰器

    请求进入函数之前 before_request # -*- coding: utf-8 -*-   from flask import Flask, session, redirect, reques ...

  7. Vue-cli项目部署到Nginx

    项目环境: 0. Nginx使用 以windows版为例,下载niginx压缩包并解压到任意目录,双击nginx.exe,在浏览器中访问http://localhost,如果出现Welcome to ...

  8. iviewer插件

    jQuery-iviewer插件的使用 iviewer是一个具有缩放和图像旋转功能的图像查看小部件. 在jQuery官网下载后,有很多文件. 直接把文件夹解压拖到项目里. 然后再html中引入主要的文 ...

  9. android 引入一个布局库后该有的操作

    背景 引入一个布局库:com.zhy:percent-support-extends 然后sync now 成功了,也就是同步成功了. 然而开始使用的时候报告了: The following clas ...

  10. Spring Boot与ActiveMQ整合

    Spring Boot与ActiveMQ整合 1使用内嵌服务 (1)在pom.xml中引入ActiveMQ起步依赖 <dependency> <groupId>org.spri ...