在 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?

从安装程序在 Mountain Lion 上安装 Qt

linux安装qt-everywhere-opensource-src-4.8.3,在进行make的时候出现如下错误:

QT- 在 Windows 7 中安装

如何在 Windows 7 上构建 Quazip 0.5.1?