TMC移植是我移植VIEW以来最闹心的一个模块,按理说之前有了一些经验了,不应该这样啊。
我想原因可能有以下几点:
(1)刚过完年,懒散了2个礼拜,乍一紧张工作,身体没适应过来。
(2)屋里太热,太闷了,让你很闹心,热气在屋里积着。
(3)TMC模块重新移植,之前没移植过,工作量也是比较大
(4)移植到Android的步骤比较繁琐,且Android调试不方便。
(5)需要模块作者的协助,而大家的任务也很忙的。
移植TMC从2月13号那样开始的。本来以为能赶在2月19日之前弄完,结果还是没赶出来。最终是在2月19日那天在Android虚拟机上成功跑起来了。
Step1:改include路径里的'/',改成'/'。
Step2:将一些直接调用操作系统API的函数改成upf调用。
Step3:在Windows下要能跑起来。
Step4:开始在Linux下编译。
Step5:在Android下编译。
刚开始先要在Linux下跑起来。因为Linux下还好调试,Android下调试就只能加打印了。
编Linux时出现了几个问题:
1.由于加了TMC模块,而TMC模块的一些代码是从别的模块考的,名称也没变。导致产生了命名冲突。
解决方式,gdb调试时看堆栈看跑到哪里去了。以后再遇到这种问题可以直接将一些Common文件里的函数或类重命名。即优先考虑这个问题。
编Android时出现了几个问题:
1.tmc模块从系统那倒腾了一个vector的代码来,而变量名类似:_V,结果跟Android的头文件定义的宏冲突了,报错,但是报的很奇怪。