近一周的尝试,WML功能在Android和Windows上编译成功。
1. Android
修改make file,主要涉及如下文件的修改
2. Windows
必备条件把Webkit编译通过了,具体参考webkit.org上的说明,把必须的SDK,patch都安装了。
VC2005和VC Express 2005都能编过,安装VC的几个patch能大大提升编译速度,磨刀不误砍柴功。
编译成功后默认wml是关闭的,修改如下几个文件,把wml相关配置(ENABLE_WML)打开
FeatureDefines.xcconfig
GNUmakefile.am
configure.ac
features.pri
FeatureDefines.vsprops
这时开始编译,必然会失败,停在webcore编译上,提示如下:
WMLElementFactory.cpp 中ConstructorFunction重定义
然后关键的两步:
1.找到DerivedSources.cpp,注释掉如下两行
//#include "WMLElementFactory.cpp"
//#include "WMLNames.cpp"
2. 修改webcore.vcproj,把上面两个文件参与编译(关闭“从生成中排除”)。
这样就能编译成功了。
编译成功后可以试试打开http://wap.sohu.com,页面最下方切换到普通版,或者http://wml.kaixin001.com/ 看看页面能否显示。