在 Windows 7 上安装 Qt 4.8.3 & QtWebkit 问题
Posted
技术标签:
【中文标题】在 Windows 7 上安装 Qt 4.8.3 & QtWebkit 问题【英文标题】:Qt 4.8.3 installation on Windows 7 & QtWebkit problems 【发布时间】:2012-11-15 00:28:20 【问题描述】:我刚刚将我的 Qt 更新到 4.8.3,因为从旧版本构建的程序与新框架不兼容。
所以我必须升级。
这个过程令人沮丧且耗时。这么多问题就出来了。
我从这个网址下载 Qt: http://qt-project.org/downloads
一开始,我安装的是 MinGW (我不是 MSVC 的粉丝)。
我尝试了最新(我认为是 4.6)版本的 MinGW 和订购版本(4.4)。 但是,在我安装 MinGW 并尝试安装 Qt 4.8.3 后,在此过程中,显示以下消息:
There is a problem with your MinGW installation: The installer could not find a valid C:\MinGW\include\w32api.h (Only versions with W32API 3.13 are supported) Do you still want to continue? (Your installation may not work)
4.6版本确实有这个w32api.h文件,不知道怎么回事。而且我很难用这个头文件找到 MinGW 4.4。
我决定忽略此警告并继续安装 Qt 和 Qt creator。之后, 我打开我当前的项目,配置它(为什么配置变得如此复杂......),我尝试构建它。
然后出现以下消息,因为我使用的一些外部库需要异常处理:
异常处理禁用,使用 -fexceptions 启用
而且我不知道如何启用它。 我尝试在 QMAKE_CXXFLAGS 中添加 -fexceptions 标志,但它不起作用。
顺便说一下,我也试过VC版的Qt,但是我之前用的是MinGW,VC编译器还是很不一样的,如果我用VC版的话,要让VC编译器编译起来会花很多时间.
有人知道如何在 Windows 上安装 Qt 4.8.3 吗?我的项目之前运行良好,现在只想编译成功......
这些不是唯一的问题。 我也更新了 Mac 机器上的 Qt,因为它是基于 unix 的,所以编译器工作起来更容易。
但是,我在我的项目中使用了 QtWebkit 库,显然,他们更改了这个库,并且它与订购版本不兼容。
我可以在 Mac 上编译我的项目,但是,每次我运行它时,都会出现以下按摩并且程序停止。
dyld:未找到符号:_OBJC_CLASS_$_CALayerHost 引用自: /Library/Frameworks/QtWebKit.framework/Versions/4/QtWebKit 预期 在: /System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore
程序意外结束。
有谁知道如何解决这个 QtWebKit 问题?我会很感激的。
我记得Qt在nokia下的时候,安装使用非常方便,Qt SDK就完美了。
我真的很讨厌被digia收购后所做的改变............
【问题讨论】:
找到了适用于 Qt 的工作 MinGW 4.4:ftp.qt.nokia.com/misc/MinGW-gcc440_1.zip [ftp.qt.nokia.com] 【参考方案1】:我找到了前两个问题的解决方案:
第一个问题,如我所述,下载诺基亚Qt提供的MinGW ftp.qt.nokia.com/misc/MinGW-gcc440_1.zip [ftp.qt.nokia.com] 尝试了几个版本的 MinGW 4.4,我认为这是唯一一个可行的。
关于第二个问题,在项目文件中添加如下配置:
CONFIG += 异常
现在 QWebKit 问题只有一个没有解决。
【讨论】:
很高兴你能找到一个工作的 MinGW。对于 QtWebKit 的问题,你确定你是用 Qt 4.8.3 自带的 webkit DLL 来运行程序吗? 谢谢 :) 是的,我只是使用安装提供的QtWebKit lib。我发现一些讨论说新的 QtWebKit 仅适用于 OS X 10.7 或更高版本,我使用的是 10.5,我认为这是问题所在。 我正在使用 MinGW 4.5.3 没有问题。它一定是别的东西。【参考方案2】:您的 MinGW 包含目录中是否有两个“i”,或者在 SO 上发布时是否存在印刷错误?见:
The installer could not find a valid C:\MinGW\iinclude\w32api.h
【讨论】:
你对异常处理有什么想法吗? 您是否尝试过只使用downloading the libraries 而不是compiling from source?运行安装程序通常与 Qt Creator 无缝集成。我不确定异常处理。 我刚刚注意到额外的错误是我的错字,而不是他们的错误。所以我不明白有什么问题,因为我在正确的目录中有这个 w32api.h 文件 我就是这么做的。我下载库并安装它。我不是自己构建的,所以我收到消息说 MinGW 没有正确安装。以上是关于在 Windows 7 上安装 Qt 4.8.3 & QtWebkit 问题的主要内容,如果未能解决你的问题,请参考以下文章
在 Windows 8 上的 Creator 中编译将在 Windows 7 上运行的 Qt 5 应用程序?
如何在 Windows 7 上使用 Visual Studio 2012(64 位)安装 OpenCV?