最近因为要把一些linux上的软件弄到pocket pc上去跑,而不得去porting。然而linux上的接口和windows上的接口差别很大。移植起来真的很费劲,编译起来一般都是几千个错误,让人如何接受得了。
在网上找到一个开源的arm-cegcc-gcc(http://cegcc.sourceforge.net/)。它是一个交叉编译器,可以直接编译成ppc上的exe/dll格式。使得我可以不用去porting linux那些无意义的移植,关注在真正需要移植的地方。太感谢那些开源工作者,让我们节约很多时间。
i386-mingw32-gcc(http://www.mingw.org/)可以在linux环境下编译出windows的程序出来。
以上都有 GNU/Linux or cygwin 版本,详细的文档请参考官方网站。
其实我们只需要把linux下最核心的,不依赖平台东西编译成dll,然后在其他平台call 这个dll,其他的部分就直接移植,因为毕竟环境不一样,就算你编译成功了也不可能会运行成功。或许已近有人提供这样的移植库了,如果没有,我移植成功将会把它拿出来分享。