上一篇提到的“能编译通过这个 aseprite 软件(及格),能在IDE中下断点调试(良好),可能的话希望自己能修改软件的菜单,加入自定义功能(优秀)”。现在看来,我已经及格了(笑)。
附上 aseprite 的官方编译指南。
回过头来看我耗时十几小时的编译之战,真是教科书一般的犯下了几乎所有可以犯下的错误。幸好结果不错,让这些付出也显得有了很高的价值。
时间很晚了,我就不长篇大论了,直接上这次吸取的教训:
编译复杂度达到自己无法掌控的项目时,人家让你用什么版本的工具,你就一定要分毫不差的用那个版本,以免各个工具之间出现兼容性问题。
离月末还有些时间,工作上暂时还比较闲(很好!)。那么下一步,就是让这个项目能在IDE中下断点调试了。别看编译通过了,其实都是命令行调用visual studio的编译和链接工具直接生成exe的,至于能不能用IDE顺利编译运行这个程序,还真不好说呢 : )
———- 2017/09/20 更新 ———-
八小时前,aseprite 的作者更新了他的编译指南,使用了更新版本的 skia ,现在用 vs2017 也可以编译了。我作为编译指南更新前一天刚踩了一圈雷的无辜群众,可能是这世上最后一个被 aseprite 和 vs2017 的兼容性问题坑了的人吧。
关于为什么更新前不能用 vs2017 编译,我的观察是,之前编译指南推荐的 skia 版本是 m55, 那个版本里的 gyp 代码比较老,对 msvs 的版本只能识别到 2015 。我记得 gyp 对 vs2017 的识别能力是2017年四月份才加入的,m55 最后的更新是 2016 年 10月,当然不能识别 vs 2017。更新后的编译指南推荐使用 skia 的 m62 版本,目前最近更新日期是2017年8月31号,解决了这个问题。
C++库版本管理部分确实已经渣到不忍直视的地步了。
为了更加高效迅速的验证一些东西,很坦诚的来说,现在C、C++开发已经列于我最后考虑的选项了。
我之前被迫研究了两年浏览器端js,结果喜欢上了这个自由奔放的语言。
目前我写小脚本,小工具都是用网页端js或者nodejs。比如自己实现解压缩 zip ,parse android 的 dex 文件等等。
尤其网页端无限进化的HTML5的未来真的是太美好了。只要能解决各家浏览器引擎兼容性问题(主要是apple家webkit引擎实现HTML5的进度严重掉队的问题),总有一天他会连socket api也进化出来,让世界重新体会被页游支配的恐惧!哈哈。