2023年6月21日发(作者:)
在VS2008下编译调试QtWebKit
安装环境
1. 安装VS2008,最好打上各种补丁比如:
Microsoft Visual Studio 2008 Service Pack 1 (iso)
(/downloads/en/?displaylang=en&FamilyID=27673c47-b3b5-4c67-bd99-84e525b5ce61)
Visual Studio 2008 Service Pack 1 ATL Security
(/downloads/en/?familyid=294DE390-3C94-49FB-A014-9A38580E64CB&displaylang=en)
2. 安装 GNU tools (Install from /):
Bison 2.3
Gperf 3.0.3
Flex 2.5.34
LibIconv
注意安装路径不能有空格 (i.e. not in "C:Program Files")
我安装到了C:ProgramFilesGnuWin32bin
3. 安装ActivePerl
(/Products/ActivePerl/)
4. 安装Cygwin
( /repository/webkit/trunk/WebKitTools/CygwinDownloader/)
编译QT
1.
2.
3.
4.
5.
6.
7.
下载源代码 /downloads/windows-cpp-vs2008
设置环境变量 QTDIR=C:workWebKitqt-everywhere-opensource-src-4.6.3
给Path追加环境变量 Path=Path;%QTDIR%bin
打开VS的命令行窗口Visual Studio 2008 Command Prompt
执行:cd %QTDIR%
执行:congifure -release –shared –platform win32-msvc2008
执行:nmake (漫长的等待...)
编译QtWebkit
1. 下载webkit(/builds/trunk/win/1),我用的版本是WebKit-r66718 2. 解压webkit到C:workWebKitWebKit-r66718(这是我用的目录,可以解压到任意目录下)
3. 下载并放到webkit根目录C:workWebKitWebKit-r66718
下,记得无需解压,下载地址:/opensource/internet/webkit_sptlib_
4. C:workWebKitWebKit-r66718目录下建立WebKitBuild、WebKitBuildRelease、WebKitBuildDebug三个目录,注意保持大小写。
5. 设置环境变量 WEBKITLIBRARIESDIR= C:workWebKitWebKit-r66718WebKitLibrarieswin
6. 打开VS的命令行窗口Visual Studio 2008 Command Prompt
7. cd C:workWebKitWebKit-r66718
8. C:workWebKitWebKit-r66718>perl WebKitToolsScriptsbuild-webkit --qt --debug(这里使用debug模式,漫长等待...)
9. 如果编译成功,会生成 C:
可能遇到的问题
1.在第6步的链接阶段时报下面的错误:
link /LIBPATH:"c:workWebKitqt-everywhere-opensource-src-4.6.3lib" /N
OLOGO /DEBUG /DLL /MANIFEST /MANIFESTFILE:"obj/
fest" /VERSION:4.80 /OUT:.. @C:UsersliaojiAppDataLocalTe
LINK : fatal error LNK1210: exceeded internal ILK size limit; link with /INCREMENTAL:NO
解决办法:
1. 用记事本打开 C:修改LFLAGS的参数:添加
/INCREMENTAL:NO 。修改后如下 LFLAGS = /LIBPATH:"c:workWebKitqt-everywhere-opensource-src-4.6.3lib" /INCREMENTAL:NO /NOLOGO /DEBUG /DLL
/MANIFEST /MANIFESTFILE:"obj/st"
/VERSION:4.90
2. cd C:workWebKitWebKit-r66718WebKitBuildDebugWebCore
3. 执行 "C:Program FilesMicrosoft Visual Studio " -f
调试
1. 打开C:
2. 修改代码c: int main(int argc, char **argv)
{
//中断运行,方便VS在这个时刻 attach到进程
MessageBoxA(NULL,"Pause for attach process","Pause",MB_OK);
LauncherApplication app(argc, argv);
//使用系统IE代理
QNetworkProxyFactory::setUseSystemConfiguration(true);
if (tized()) {
...
}
3.
4.
5.
6.
在自己需要的行设置断点
在执行一次C:workWebKitWebKit-r66718>perl WebKitToolsScriptsbuild-webkit --qt --debug(这次不会用太长时间)
双击 C:workWebKitWebKit-r66718WebKitBuildDebugbin
Attach到进程,选择菜单:Debug->Attach to Process…
7. 开始单步调试之旅…
2023年6月21日发(作者:)
在VS2008下编译调试QtWebKit
安装环境
1. 安装VS2008,最好打上各种补丁比如:
Microsoft Visual Studio 2008 Service Pack 1 (iso)
(/downloads/en/?displaylang=en&FamilyID=27673c47-b3b5-4c67-bd99-84e525b5ce61)
Visual Studio 2008 Service Pack 1 ATL Security
(/downloads/en/?familyid=294DE390-3C94-49FB-A014-9A38580E64CB&displaylang=en)
2. 安装 GNU tools (Install from /):
Bison 2.3
Gperf 3.0.3
Flex 2.5.34
LibIconv
注意安装路径不能有空格 (i.e. not in "C:Program Files")
我安装到了C:ProgramFilesGnuWin32bin
3. 安装ActivePerl
(/Products/ActivePerl/)
4. 安装Cygwin
( /repository/webkit/trunk/WebKitTools/CygwinDownloader/)
编译QT
1.
2.
3.
4.
5.
6.
7.
下载源代码 /downloads/windows-cpp-vs2008
设置环境变量 QTDIR=C:workWebKitqt-everywhere-opensource-src-4.6.3
给Path追加环境变量 Path=Path;%QTDIR%bin
打开VS的命令行窗口Visual Studio 2008 Command Prompt
执行:cd %QTDIR%
执行:congifure -release –shared –platform win32-msvc2008
执行:nmake (漫长的等待...)
编译QtWebkit
1. 下载webkit(/builds/trunk/win/1),我用的版本是WebKit-r66718 2. 解压webkit到C:workWebKitWebKit-r66718(这是我用的目录,可以解压到任意目录下)
3. 下载并放到webkit根目录C:workWebKitWebKit-r66718
下,记得无需解压,下载地址:/opensource/internet/webkit_sptlib_
4. C:workWebKitWebKit-r66718目录下建立WebKitBuild、WebKitBuildRelease、WebKitBuildDebug三个目录,注意保持大小写。
5. 设置环境变量 WEBKITLIBRARIESDIR= C:workWebKitWebKit-r66718WebKitLibrarieswin
6. 打开VS的命令行窗口Visual Studio 2008 Command Prompt
7. cd C:workWebKitWebKit-r66718
8. C:workWebKitWebKit-r66718>perl WebKitToolsScriptsbuild-webkit --qt --debug(这里使用debug模式,漫长等待...)
9. 如果编译成功,会生成 C:
可能遇到的问题
1.在第6步的链接阶段时报下面的错误:
link /LIBPATH:"c:workWebKitqt-everywhere-opensource-src-4.6.3lib" /N
OLOGO /DEBUG /DLL /MANIFEST /MANIFESTFILE:"obj/
fest" /VERSION:4.80 /OUT:.. @C:UsersliaojiAppDataLocalTe
LINK : fatal error LNK1210: exceeded internal ILK size limit; link with /INCREMENTAL:NO
解决办法:
1. 用记事本打开 C:修改LFLAGS的参数:添加
/INCREMENTAL:NO 。修改后如下 LFLAGS = /LIBPATH:"c:workWebKitqt-everywhere-opensource-src-4.6.3lib" /INCREMENTAL:NO /NOLOGO /DEBUG /DLL
/MANIFEST /MANIFESTFILE:"obj/st"
/VERSION:4.90
2. cd C:workWebKitWebKit-r66718WebKitBuildDebugWebCore
3. 执行 "C:Program FilesMicrosoft Visual Studio " -f
调试
1. 打开C:
2. 修改代码c: int main(int argc, char **argv)
{
//中断运行,方便VS在这个时刻 attach到进程
MessageBoxA(NULL,"Pause for attach process","Pause",MB_OK);
LauncherApplication app(argc, argv);
//使用系统IE代理
QNetworkProxyFactory::setUseSystemConfiguration(true);
if (tized()) {
...
}
3.
4.
5.
6.
在自己需要的行设置断点
在执行一次C:workWebKitWebKit-r66718>perl WebKitToolsScriptsbuild-webkit --qt --debug(这次不会用太长时间)
双击 C:workWebKitWebKit-r66718WebKitBuildDebugbin
Attach到进程,选择菜单:Debug->Attach to Process…
7. 开始单步调试之旅…
发布评论