vs2010反编译编译的VB程序如何实现重载窗口?

2248人阅读
c/c++(243)
折腾了几天终于把webkit在window上编译成功!
1.编译时的准备工作:
Cygwin:官方提供的,
(http://svn.webkit.org/repository/webkit/trunk/WebKitTools/CygwinDownloader/cygwin-downloader.zip),一定要用这个来安装cygwin环境.
其他版本的cygwin的perl和python工具不完整,cygwin的perl、python工具和window版本的perl python最好不要混用。
cygwin最好默认安装在c:/cygwin目录下,保证perl、python、curl、unzip工具
QuickTime SDK:
vs2010==&WebKit-r156224.tar.bz2 &
vs2008==&WebKit-r98912.tar.bz2 &
June 2010 DirectX SDK
/en-us/download/details.aspx?id=6812
2.VS2010编译步骤
我采用release 版本编译, 如果要编译debug版本,如果你编译的是debug版,可能要将WebKitLibraries\win\lib里面的lib文件加_debug,例如将CoreFoundation.lib.lib改为CoreFoundation.lib_debug.lib.
(1) 设置环境变量
系统环境变量中设置PATH & c:\cygwin\bin
set WEBKIT_DIR =/cygdrive/e/android/webkit/WebKit-r156224
set WEBKITLIBRARIESDIR = %WEBKIT_DIR%/WebkitLibraries/win
set WEBKITOUTPUTDIR = %WEBKIT_DIR%/WebKitBuild
set VS90COMNTOOLS=E:/vs/Microsoft Visual Studio 10.0/Common7/Tools
set WEBKIT_LIBRARIES=%WEBKIT_DIR%/WebkitLibraries
在我的电脑=》属性=》高级系统设置上面添加。
&我的WebKit采用的是WebKit-r156224版本: &
WEBKIT_DIR=C:\cygwin\home\WebKit
WEBKITLIBRARIESDIR=%WEBKIT_DIR%\WebKitLibraries\win
WEBKITOUTPUTDIR=%WEBKIT_DIR%\WebKitBuild
(2) 登陆cygwin 在WebKit/webkit/tools/scripts/目录下执行./update-webkit, & 更新WebKitAuxiliaryLibrary.zip.
注意:/opensource/internet/WebKitAuxiliaryLibrary.zip 已经改为:/opensource/internet/WebKitAuxiliaryLibrary.zip
(3) 在WebKit/webkit/tools/scripts/目录下执行./build-webkit, & & &更新WebKitSupportLibrary.zip.
这一步会报很多错误,不过不要紧,看懂perl脚本。跑到相应的perl脚本文件去修改和使用printf 调试他,大部分的问题都可以解决。
(3)步可能会出现WebKitSupportLibrary.zip is out of date, 重新从/opensource下载,放到WebKit目录下.
(4)使用vs2010打开WebKit.sln文件,设置Release版本进行版本转换和编译.
遇到问题:按照提示信息去修改,编译时主要调用cygwin生成源码和vs的nmake工具编译。注意的bat 环境变量和工具调用是否冲突。
(5)编译结束成功&
(6)编译完成后,需要安装Safari浏览器,将C:\Program Files\Common Files\Apple\Apple Application Support下的一些库文件拷贝到C:\cygwin\home\WebKit\WebKitBuild\Release\bin目录.
注:C:\cygwin\home\WebKit\WebKitBuild为我的webkit代码目录.
运行MiniBrowser.exe:
运行WinLauncher.exe
编译顺序:
这5个目录的编译顺序基本是:Javascript Folder-》WebCore Folder-》WebkitCom Folder-》Webkit2 Folder-》Tools
3.编译时遇到到的问题
1.如果以前安装过Perl,Python等脚本语言,请卸载干净。这些语言可能与Cygwin自带的脚本语言冲突,不能正常编译.
我机器上原来装过Python2.6.6,出现了类似此类的错误: && can't open file '/home/WebKit/Source/JAVASC~1/KeywordLookupGenerator.py': [Errno 2] No such file or directory&.
2. error C2220:警告被视为错误 - 没有生成&object&文件
可以点击工程项目,右击选择属性-&配置属性-&c/c++-&常规, 将&警告视为错误&的选项改为&否&.
3. 屏蔽警告信息 , 一大堆C4396警告信息, 看的头大.
可以点击项目,右击选择属性-&配置属性-&c/c++-&常规,修改警告级别.
4. 在编译WebCore项目工程时 常量中有换行符错误
6&DefaultLocalizationStrategy.cpp
6&..\platform\DefaultLocalizationStrategy.cpp(345) : error C2001: 常量中有换行符
6&..\platform\DefaultLocalizationStrategy.cpp(347) : error C2001: 常量中有换行符
6&..\platform\DefaultLocalizationStrategy.cpp(345) : fatal error C1057: 宏展开中遇到意外的文件结束
RetainPtr&CFStringRef& selectedCFString(AdoptCF, truncatedStringForLookupMenuItem(selectedString).createCFString());
& & return formatLocalizedString(WEB_UI_STRING(&Look Up %@ &, &Look Up context menu item with selected word&), selectedCFString.get());
& & return WEB_UI_STRING(&Look Up &&selection&& &, &Look Up context menu item with selected word&).replace(&&selection&&, truncatedStringForLookupMenuItem(selectedString));
5.出现cmd.exe错误,比如
9&项目 : error PRJ0002 : 错误的结果 1 (从“C:\WINDOWS\system32\cmd.exe”返回)。
9&生成日志保存在“file://C:\cygwin\home\WebKit\WebKitBuild\Release\obj\WebKitLib\BuildLog.htm”
9&WebKitLib - 1 个错误,0 个警告
解决方案: 首先把此工程重新编译, &可能是你编译这个工程之前的那个工程没有正常编译完成,造成之后编译所有的工程都有这样的错误.
6.所有的工程编译通过,出现缺少dll库文件
解决方案:网上搜索或直接安装safari,找到相应的库文件,放到可执行文件的目录中.
比如这个dll库没有找到:
注意这边我又使用 Apple Software Update 更新了下apple的软件,因为我在C:\Program Files\Common Files\Apple\Apple Application Support目录下找不到这个库文件.
需要更新的有iTunes、Safari 5、 QuickTime对应的版本分别为10.5、5.1.1、7.1.1.
更新完毕后就找到了缺失的dll文件.&
CFNetwork.dll、CoreFoundation.dll、pthreadVC2.dll、objc.dll、libdispatch.dll、libicuin.dll、libicuuc.dll、icudt46.dll、ASL.dll、SQLite3.dll、zlib1.dll
7、出现错误:Failed to determine path to AAS directory
修改Tools\win\DLLLauncher\DLLLauncherMain.cpp源码设置Safari路径。
附上结果图:
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:841606次
积分:15609
积分:15609
排名:第454名
原创:696篇
转载:269篇
评论:135条
我的其他技术博客站点,欢迎关注。
android面试手册app
(5)(34)(21)(42)(49)(10)(14)(10)(11)(21)(21)(26)(24)(15)(17)(24)(9)(24)(14)(17)(15)(24)(39)(28)(14)(19)(27)(35)(10)(16)(31)(12)(13)(41)(32)(16)(18)(14)(2)(10)(38)(9)(29)(3)(31)(12)(16)(10)(1)
算法分析与设计和算法导论vs2010下写的VB程序怎么把它脱离vs2010运行?_百度知道VS2010编译的VB程序如何实现重载窗口?_百度知道VS2010 窗口应用程序项目如何添加如下文字?_百度知道

我要回帖

更多关于 vs2010反编译 的文章

 

随机推荐