在Windows Qt-4.8.x平台上编译Qt-5.0+ WebKit(即qtwebkit-2.3.x) Debug版注意事项

在Windows Qt-4.8.x平台上编译Qt-5.0+ WebKit(即qtwebkit-2.3.x) Debug版注意事项

跳转至: 导航搜索

目录

C++编译问题

前提条件!!

需要安装GNUWin32软件(主要是Flex及Bison、gperf)及pthread-win32。

从idl生成.h/.cpp失败?

  1. 确保不要使用cygin里的perl和bison等程序,使用外部的Perl(我用的是5.16)和GnuWin32里的bison

VS编译器版本

  1. 请使用VS2010以上,不要再用VS2008(VS2005更加过时了),否则最终链接lib时会遇到错误:

名字导出问题

  1. QtWebKit.dll其实由下面几个子项目构成:

    1. WTF
    2. JavaScriptCore
    3. WebCore
    4. WebKit(2)
    5. QtWebKit(API)
    请为这几个项目一律添加下列预定义宏:BUILDING_WTF、BUILDING_JavaScriptCore、BUILDING_WebCore、BUILDING_WEBKIT
    同时需要修改Source\JavaScriptCore\config.h,确保#include "JSExportMacros.h"

找不到int64_t类型?

  1. 在对应的cpp(或直接修改config.h)中添加://需要把-I"..\..\..\Source\JavaScriptCore\os-win32"加入项目包含路径

    #if OS(WINDOWS) && COMPILER(MSVC)

    #include "stdint.h"
    #endif

Windows上需要pthread-win32库以提供多线程支持

直接使用预编译好的pthreads-win32-2.8.0即可

链接问题

mt.exe : general error c101008d: Failed to write the updated manifest to the resource of file "..\lib\QtWebKitd.dll"

杀毒软件的问题,删除dll,重新Build

LINK : fatal error LNK1181: cannot open input file ‘d:\qt-everywhere-opensource-src-4.8.4\lib\QtSqld4.lib‘

  1. 遇到这种问题比较容易解决,说明WebKit代码需要链接QtSqld库,打开Qt的projects.sln,选择对应模块,Build即可

确认QtTestBrowser项目链接的不是Qt内部的WebKit lib

  1. 检查对应的Makefile或VS的linker input设置
  2. 注意,WebKit官方压缩包附带的是QtTestBrowser,而Qt本身附带的是demos/browser和fancy browser

注意Windows与Linux对lib的链接依赖差别

Windows上编译QtWebKit时,删除对fontconfig.lib、qxlibd.lib的链接依赖

Windows上没有xlib plugins,删除对应引用

  1. error LNK2019: unresolved external symbol "class QObject * __cdecl qt_plugin_instance_xlib(void)" ([email protected]@[email protected]@XZ) referenced in function "public: __thiscall StaticxlibPluginInstance::StaticxlibPluginInstance(void)" ([email protected]@[email protected])
  2. 修改Tools\QtTestBrowser\main.cpp,删除Q_IMPORT_PLUGIN(xlib)行

debug\WebCored.lib : fatal error LNK1106: invalid file or disk full: cannot seek to 0x40EB50B4

  1. 某些情况下,删除*.lib、*.dll、*.exp、*.pdb,重新Build,可以成功
  2. 实在不行,说明必须使用VS2010+,VS2008-已经过时了
时间: 2024-10-25 09:58:36

在Windows Qt-4.8.x平台上编译Qt-5.0+ WebKit(即qtwebkit-2.3.x) Debug版注意事项的相关文章

Windows平台上编译Qt-4.8.x Debug版注意事项

Windows平台上编译Qt-4.8.x Debug版注意事项 跳转至: 导航. 搜索 目录 1 为什么要编译qt-4.8.x的Windows Debug版? 2 1 MSVC版本的选择 3 2 WinRAR的问题 4 3 qmake子项目裁剪 5 4 调试QtWebKit 0 为什么要编译qt-4.8.x的Windows Debug版? 目的:为了方便调试qt的代码!VS比Linux gdb好使多了. 1 MSVC版本的选择 最好使用VS2008+,它的安装包自带了Windows SDK,不要

在ARM平台上编译安装golang

golang也就是go语言,现在已经发行到1.4.1版本了,语言特性优越性和背后google强大靠山什么的就不多说了.golang的官方提供了多个平台上的二进制安装包,遗憾的是并非没有发布ARM平台的二进制安装包.ARM平台没办法直接从官网下载二进制安装包来安装,好在golang是支持多平台并且开源的语言,因此可以通过直接在ARM平台上编译源代码来安装.整个过程主要包括编译工具配置.获取golang源代码.设置golang编译环境变量.编译.配置golang运行环境变量等步骤. 注:本文选用树莓

在Android平台上编译faad2

1.从官网下载源码 2.编辑一个config.h: /* config.h. Generated from config.h.in by configure. */ /* config.h.in. Generated from configure.in by autoheader. */ /* Define if you want to use libfaad together with Digital Radio Mondiale (DRM) */ /* #undef DRM */ /* De

在Android上编译OSG[3.0.2 ] (转)

在Android上编译OSG[3.0.2 ] 分类:Android This file contents can be applied for version OpenSceneGraph(OSG) 3.0.2 or newer. Prerequisites for build process To compile OSG as a standalone library you'll only need the Android NDK. To develop applications with

在Ubuntu平台上开发Qt Quick QML应用 (视频)

在这个视频里,我们从"0"开始来开发一个mini的RSS阅读器.通过这个练习,开发者可以对QML的编程有一个基本的了解,并了解在Ubuntu平台上的一些开发的流程.应用的图片如下:    视频的地址是:http://v.youku.com/v_show/id_XODcwODQxOTI0.html 

vs2015上编译QT程序的环境搭建

下载相对应版本的QT(以QT5.7.0为例),进入网站http://download.qt.io/archive/qt/5.7/5.7.0/,下载MSVC版本QT,我的系统是64位,VS版本是2015,所以下载qt-opensource-windows-x86-msvc2015_64-5.7.0.exe这个QT版本(根据自己系统和VS版本下载对应的QT). 下载完安装就不说了,一直按下一步就好(注意:安装目录不能有中文,选择组件时默认或者全选都行,根据个人需要). QT版本安装完之后,进入VS2

Qt云服务/云计算平台QTC(Qt Cloud Services)入门(0)

在这个“大数据”的时代,传统的跨平台C++库Qt已经将魔爪丧心病狂的伸向了“云计算”.在2012年的Qt开发者大会上,Qt发布了BaaS(Backend as a Service)服务——Enginio,旨在为用户提供一个NoSQL数据库的后端平台.截至到(2014年9月),Qt云服务(Qt Cloud Services,简称“QTC”)已经发展成为了提供以下三种服务的云平台: Managed Application Runtime (MAR) Enginio Data Storage (EDS

Ubuntu14.04 32位上编译VLC2.2.0源码操作步骤

1.  首先安装必须的依赖软件,打开终端,执行: sudo apt-get install git libtool build-essential pkg-config autoconf 2. 从http://www.videolan.org/vlc/download-sources.html 下载vlc-2.2.0源码,将其存放到/home/spring/VLC目录下,解压缩: xz -dk vlc-2.2.0.tar.xz tar xvf vlc-2.2.0.tar 3. 获取第三方库: c

在Mac/Linux/Windows上编译corefx遇到的问题及解决方法

这两天尝试在Mac/Linux/Windows三大平台上编译.NET跨平台三驾马车(coreclr/corefx/dnx)之一的corefx(.NET Core Framework),结果三个平台的编译都失败了.后来一一都解决了,在这篇博文中分享一下. (一) 在Mac上编译corefx遇到的错误如下: /git/dotnet/corefx/dir.props(214,5): warning : The Roslyn targets do not exist- Roslyn will not b