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. 开始单步调试之旅…