阅读:3990回复:0
新手在Winxp使用MozillaBuildSetup-1.3+VS2005编译Minimo的惨剧
系统Winxp,安装了MozillaBuildSetup-1.3到C:\mozilla-build,以及VS2005,但是因为C盘空间不够,于是将VS2005装到了d盘,安装的2005自带sp1,SDK是PSDK2003R2。
按照http://www.mozilla.org/projects/minimo/WinCE/build.html的说明,顺利通过 Inital Pull 和 mozconfig 两个步骤后,到了第3步的 make -f client.mk pull_all build_all 出现错误,分开执行,make -f client.mk pull_all正常下载了N多代码,然后执行make -f client.mk build_all,结果在执行 cl /D_CRT_SECURE_NO_DEPRECATE vs8ppc2003arm/arm-wince-as.c cl /D_CRT_SECURE_NO_DEPRECATE vs8ppc2003arm/arm-wince-gcc.c cl /D_CRT_SECURE_NO_DEPRECATE vs8ppc2003arm/arm-wince-lib.c cl /D_CRT_SECURE_NO_DEPRECATE vs8ppc2003arm/arm-wince-link.c 的时候出现问题,编译器将/D_CRT_SECURE_NO_DEPRECATE 识别为文件,错误如下: cl: 命令行 warning D9024 :无法识别的源文件类型“C:/mozilla-build/msys/D_CRT_SECURE_NO_DEPRECATE”,假定为对象文件 arm-wince-as.c 将/D_CRT_SECURE_NO_DEPRECATE去掉之后这几个文件编译正常。 然后执行到devenv ../shunt/build/vs8/mozce_shunt_static.sln /rebuild "Release|Pocket PC 2003 (ARMV4)",启动了vs2005的IDE后提示: 命令行中指定了以下文件:c:/mozilla-build/msys/rebuild Release|Pocket PC2003 (ARMV4) 未找到这些文件,将无法加载,看起来也是将参数/rebuild "Release|Pocket PC 2003 (ARMV4)"当成了文件。手动输入devenv ../shunt/build/vs8/mozce_shunt_static.sln ,选择Pocket PC 2003 (ARMV4)编译了Release版的shunt.lib,然后将makefile文件中的此行语句注释掉,继续执行。 到了测试arm-wince-gcc.exe是否能正常编译文件的时候又出现错误,错误字串已经不记得了,错误原因是vs2005的路径在arm-wince-gcc中被固化为C:\Program Files\Microsoft Visual Studio 8,而事实上我的vs2005安装在D盘。。。修改相关代码后依然不能正常编译,继续检查,发现是mozilla\build\wince\tools\topsrcdir.h中将TOPSRCDIR设定为"/d/work/minimo2/mozilla",而vs2005无法识别这个路径,改成"d:/work/minimo2/mozilla"并且将这个文件设为只读后终于正常,一直到configure文件中int main() { CONFIGURE_STATIC_ASSERT(0) ; return 0; } 出现下面错误: configure(5624) : error C2118: negative subscript 意思时说有负数下标,查看CONFIGURE_STATIC_ASSERT宏定义,发现其中有typedef int static_assert_line_##line[(condition) ? 1 : -1]的写法。 崩溃了。。VS2005根本不支持负数下标~~~~~ 为什么会有这么多问题。。。是不是我的环境有问题? |
|