周末折腾了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. 互联网大厂Java面试题集—Spring boot面试题(一)

    Spring Boot 需要独立的容器运行吗? 可以不需要,内置了 Tomcat/ Jetty 等容器.通过pom.xml中导入依赖: <!--spring-boot-starter-web:代 ...

  2. IDEA 如何自动导入(import)

    如果大家正在使用一个未曾导入(import)过的类,或者它的静态方法或者静态字段,IDEA 会给出对应的建议,只要按下 ⌥(option)和回车就可以接受建议. 但我觉得这样做仍然很麻烦,不够智能化. ...

  3. Python高级特性——列表生成式(list Comprehensions)

    List Comprehensions 即列表生成式,是Python内置的强大的用来生成列表list的生成式. 简单菜: >>> l = list(range(2,13)) > ...

  4. PlayJava Day028

    1.网络程序中套接字(Socket)用于将应用程序与端口连接起来 套接字是一个假想的连接装置,就像插插头的设备”插座“,用于连接电器与电线,如下所示 客户端:应用程序 <----> Soc ...

  5. git配置:本地仓库提交到远程仓库

    前提:1.已安装git 一:创建公钥,一台机子匹配一个公钥 桌面右键选择 Git Bash Here 打开命令行输入:ssh-keygen -t rsa -C "xxx@xxx.com&qu ...

  6. js-01-基础知识

    一.JS变量的声明.数据类型和变量的转换 1.js变量声明关键字:var 注意:a:js变量区分大小写: b:js中字符串可使用双引号,也可使用单引号: c:js中可声明同名变量,控制台不会报错,但后 ...

  7. vue render函数解析

    一.render 函数的作用: 写一些vue.js的template太繁琐,利用render,可以使用js来生成模板,更加灵活和简便. 二.使用render前提: 官网也说了.在深入渲染函数之前推荐阅 ...

  8. 使用 Anydesk 5.1 TCP 通道(端口映射)功能从外网方便访问内网的 web/数据库等资源

    Anydesk 5.1 带来一个新的功能:TCP 通道,在家办公时,通过互联网进行远程桌面连接到公司电脑,可以将家用电脑的某个端口,映射到公司网络的某个电脑( IP + 端口),不局限于被远程桌面连接 ...

  9. PS各种行业文件创建

    ps可以运用于:印刷.喷绘.网络等行业. 印刷 创建的印刷文件需要修改为毫米为单位,分辨率300以上,CMYK颜色格式: 16开的尺寸为:210*285mm:但在印刷之后,剪裁需要留出出血位,上下左右 ...

  10. PC端视频播放器

    视频播放器:Potplayer 它是一款纯净的.无广告.极速