1、文件路径问题:/和/处理,有些工具不能正常识别
2、构建工具问题,nmake和make语法不一样,make多个版本之间语法也不一样,make windows port多个版本之间也不一样(常见有cygwin、msys、unixtools、gunwin32、mingw等等)
3、同类工具参数不同,比如mkdir在windows和linux都有,但是参数用法不一样
4、一些工具生成的代码文件不一样,有些工具产生的源码文件会在每行加上双引号
5、编译工具支持的语法不一样,例如vc对一些标准支持不够,导致ffmpeg无法在vc上编译通过,汇编语法也不一样
6、构建工具过多,有些工具很生僻,甚至有些工具就是为作者自己使用开发的,简直就是折磨人呀
7、有些软件虽然能跨平台,但是软件作者只维护一两个平台的版本,其他平台的支持是由贡献者提供的,所以其他平台的编译脚步可能是过时的,源码也有可能不能正常编译
8、构建一个软件可能需要很多依赖库,而各个依赖库的平台支持情况各不相同,重复1~7情况
以上是我编译webkit时遇到的一些问题,整理的不完整,欢迎补充