在Windows Qt-4.8.x平台上编译Qt-5.0+ WebKit(即qtwebkit-2.3.x) Debug版注意事项
来源:互联网 发布:python 字符串补零 编辑:程序博客网 时间:2024/06/05 09:43
在Windows Qt-4.8.x平台上编译Qt-5.0+ WebKit(即qtwebkit-2.3.x) Debug版注意事项
目录
- 1C++编译问题
- 1.1从idl生成.h/.cpp失败?
- 1.2VS编译器版本
- 1.3名字导出问题
- 1.4找不到int64_t类型?
- 1.5Windows上需要pthread-win32库以提供多线程支持
- 2链接问题
- 2.1mt.exe : general error c101008d: Failed to write the updated manifest to the resource of file "..\lib\QtWebKitd.dll"
- 2.2LINK : fatal error LNK1181: cannot open input file 'd:\qt-everywhere-opensource-src-4.8.4\lib\QtSqld4.lib'
- 2.3确认QtTestBrowser项目链接的不是Qt内部的WebKit lib
- 2.4注意Windows与Linux对lib的链接依赖差别
- 2.5Windows上没有xlib plugins,删除对应引用
- 2.6debug\WebCored.lib : fatal error LNK1106: invalid file or disk full: cannot seek to 0x40EB50B4
C++编译问题
前提条件!!
需要安装GNUWin32软件(主要是Flex及Bison、gperf)及pthread-win32。
从idl生成.h/.cpp失败?
- 确保不要使用cygin里的perl和bison等程序,使用外部的Perl(我用的是5.16)和GnuWin32里的bison
VS编译器版本
- 请使用VS2010以上,不要再用VS2008(VS2005更加过时了),否则最终链接lib时会遇到错误:
名字导出问题
- QtWebKit.dll其实由下面几个子项目构成:
- WTF
- JavaScriptCore
- WebCore
- WebKit(2)
- QtWebKit(API)
- 请为这几个项目一律添加下列预定义宏:BUILDING_WTF、BUILDING_JavaScriptCore、BUILDING_WebCore、BUILDING_WEBKIT
- 同时需要修改Source\JavaScriptCore\config.h,确保#include "JSExportMacros.h"
找不到int64_t类型?
- 在对应的cpp(或直接修改config.h)中添加://需要把-I"..\..\..\Source\JavaScriptCore\os-win32"加入项目包含路径
- #if OS(WINDOWS) && COMPILER(MSVC)
- #include "stdint.h"
- #endif
- #if OS(WINDOWS) && COMPILER(MSVC)
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'
- 遇到这种问题比较容易解决,说明WebKit代码需要链接QtSqld库,打开Qt的projects.sln,选择对应模块,Build即可
确认QtTestBrowser项目链接的不是Qt内部的WebKit lib
- 检查对应的Makefile或VS的linker input设置
- 注意,WebKit官方压缩包附带的是QtTestBrowser,而Qt本身附带的是demos/browser和fancy browser
注意Windows与Linux对lib的链接依赖差别
Windows上编译QtWebKit时,删除对fontconfig.lib、qxlibd.lib的链接依赖
Windows上没有xlib plugins,删除对应引用
- error LNK2019: unresolved external symbol "class QObject * __cdecl qt_plugin_instance_xlib(void)" (?qt_plugin_instance_xlib@@YAPAVQObject@@XZ) referenced in function "public: __thiscall StaticxlibPluginInstance::StaticxlibPluginInstance(void)" (??0StaticxlibPluginInstance@@QAE@XZ)
- 修改Tools\QtTestBrowser\main.cpp,删除Q_IMPORT_PLUGIN(xlib)行
debug\WebCored.lib : fatal error LNK1106: invalid file or disk full: cannot seek to 0x40EB50B4
- 某些情况下,删除*.lib、*.dll、*.exp、*.pdb,重新Build,可以成功
- 实在不行,说明必须使用VS2010+,VS2008-已经过时了
0 0
- 在Windows Qt-4.8.x平台上编译Qt-5.0+ WebKit(即qtwebkit-2.3.x) Debug版注意事项
- Windows平台上编译Qt-4.8.x Debug版注意事项
- Qt-4.8 WebKit + QtWebKit-2.3.x上CSS3 Web Fonts支持的一些记录
- Windows平台下使用VS2012编译Qt-4.8.7源代码及单独编译qtwebkit-2.3.4
- windows qt webkit 编译
- 在Linux上使用Qt编译WebKit
- quick-cocos2d-x Qt版本在windows上遇到的编译问题 LNK2001 !
- Qt程序如何在Mac上用X-code编译
- Qt程序如何在Mac上用X-code编译
- 在windows xp上使用VisualStudio 2008和QT编译webkit
- QTWebkit中的webkit/qt/api文档
- QTWebkit中的webkit/qt/api文档
- 在Linux(Ubuntu 9.10)上用QT来编译WebKit
- Mac OS X 平台上编译WebCore 注意事项
- QFileDialog保存打开对话框有两种风格: 在Windows和MacOS X平台上提供本地的对话框风格和Qt自绘的对话框风格
- 在Ubuntu下编译WebKit源码--qt
- WebKit 在Windows 平台下编译小结(转)
- WebKit 在 Windows 平台下编译小结
- mysql服务启动不了,报1067错误如何解决
- c语言操作mysql数据库
- 内核日志:API 及实现
- 优秀设计团队必需的四种成员
- C语言中字符串的长度
- 在Windows Qt-4.8.x平台上编译Qt-5.0+ WebKit(即qtwebkit-2.3.x) Debug版注意事项
- windows xp下vs2008 安装opencv2.3 ,开发环境搭建
- Maven配置安装及错误解决
- xcode PBXcp error
- HDU5015 233 Matrix (2014 ACM/ICPC Asia Regional Xi'an Online)
- FP-Tree算法的实现
- ubuntu 下使用 putty 调试
- hadoop测试时出现Too many fetch-failures错误
- redis 的图标挺有意思的