查看完整版本: [-- Qt的 MinGw版本一直都不支持WebEngIne吗? --]

QTCN开发网 -> Qt安装与发布 -> Qt的 MinGw版本一直都不支持WebEngIne吗? [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

涵涵 2016-05-27 16:19

Qt的 MinGw版本一直都不支持WebEngIne吗?

之前我用的是Qt5.1后来 我改成了 5.6,今天 发现居然没有WebKit,百度一下看看 原来是Webkit去掉了,换成了WebEngine,那么问题来了~为什么不支持呢?我用的 是Qt5.6 MinGw,没有WebEngine这个东西,只有vs版本才有??于是我下载了 Qt5.7 beta,也不支持WebEngine,于是我默默地装回了,Qt5.4 网上说这是 支持WebKit的最后一个版本。以后的Mingw版本会支持WebEngine吗?

fsu0413 2016-05-28 07:12
http://tieba.baidu.com/p/4574135717

看来这里人比较少啊。。。。

eliot1949 2016-05-28 15:10
看到的消息是chrome不支持mingw编译

realfan 2016-05-28 15:43
WebEngIne编译要用到VS2013里的一些头文件
MingW没办法

stlcours 2016-05-28 18:13
realfan:WebEngIne编译要用到VS2013里的一些头文件
MingW没办法 (2016-05-28 15:43) 

那就不能替MingW把头文件加上吗?那么多头文件都加上了,也不差这一个。而且美国还刚刚判例,JAVA API不侵权,那么C++ 头文件应该也不侵权啊。

adonais 2016-06-02 17:37
stlcours:那就不能替MingW把头文件加上吗?那么多头文件都加上了,也不差这一个。而且美国还刚刚判例,JAVA API不侵权,那么C++ 头文件应该也不侵权啊。 (2016-05-28 18:13) 

从代码层面上来讲,mingw是可以编译WebEngine的.目前mingw-w64的实现完全可以编译绝大部分msvc能编译的东西,并且代码不需要多大的改动.
真正的难度在于更改chromium的编译工具链,它涉及到无数的脚本,另外N多第三方库的编译方式也需要更改.这需要做大量工作.
问题是当qt项目做了这些之后,如果上游的chromium不接受这些补丁,那么每次升级WebEngine都需要合并这些补丁,另外还要做额外的回归测试.
还有一个原因就是下游的mingw在大型项目上表现不够稳定.

stlcours 2016-06-02 21:48
adonais:从代码层面上来讲,mingw是可以编译WebEngine的.目前mingw-w64的实现完全可以编译绝大部分msvc能编译的东西,并且代码不需要多大的改动.
真正的难度在于更改chromium的编译工具链,它涉及到无数的脚本,另外N多第三方库的编译方式也需要更改.这需要做大量工作.
问题是当qt项目做了这 .. (2016-06-02 17:37) 

谢谢指教。编译这个活真是一个苦活、累活,很重要,但是却也很无聊。不仅仅是针对chromium,而是我自己原来的感慨就是这样。

但是请问mingw为什么在大型项目上有什么不稳定呢?编译器的行为是一致的,应该与大型小型无关(大型项目也不会用到很多的语法)?我自己的项目也是用mingw编译的,被你这么一说,还有担心了~

johnyork 2016-06-02 23:24
stlcours:谢谢指教。编译这个活真是一个苦活、累活,很重要,但是却也很无聊。不仅仅是针对chromium,而是我自己原来的感慨就是这样。
但是请问mingw为什么在大型项目上有什么不稳定呢?编译器的行为是一致的,应该与大型小型无关(大型项目也不会用到很多的语法)?我自己的项目也是用mi .. (2016-06-02 21:48) 

比如现在最新版的MinGW-w64,gcc version 5.3.0,编译Qt 5.5.1以上版本非常蛋疼,在链接Qt3D模块中的一个工具程序时链接器就很蛋疼的报告too many sections然后失败。现在只能无尽的等待……

toby520 2016-06-03 13:28
别等mingw版本的webengine啦,因为Qt官方已经放弃对他的支持,理由是chrome团队不喜欢mingw,引自Qt blog里面的一段官方说明

adonais 2016-06-03 15:00
stlcours:谢谢指教。编译这个活真是一个苦活、累活,很重要,但是却也很无聊。不仅仅是针对chromium,而是我自己原来的感慨就是这样。
但是请问mingw为什么在大型项目上有什么不稳定呢?编译器的行为是一致的,应该与大型小型无关(大型项目也不会用到很多的语法)?我自己的项目也是用mi .. (2016-06-02 21:48) 

除非你自己或者公司单独维护某一个分支的mingw编译器,否则最好不要用在商业或者生产项目中.
bugs可能来自gcc或者binutils,他们只会优先处理posix系统上的bug,mingw对它们来说就是后娘养的.
bugs可能来自mingw-w64,相比与linux上glibc的千锤百炼,它在windows上的嫁接天然上就有缺陷.
另外,对mingw编译器的升级或维护基本上就是个人或小团队,貌似没有哪个是gcc/binutils的核心开发人员.

johnyork 2016-06-03 19:59
adonais:除非你自己或者公司单独维护某一个分支的mingw编译器,否则最好不要用在商业或者生产项目中.
bugs可能来自gcc或者binutils,他们只会优先处理posix系统上的bug,mingw对它们来说就是后娘养的.
bugs可能来自mingw-w64,相比与linux上glibc的千锤百炼,它在windows上的嫁接天然上就有缺 .. (2016-06-03 15:00) 

太悲哀了,本来想在windows上摆脱商业编译环境的限制的,结果却又不得不重新用回来

adonais 2016-06-03 22:18
johnyork:太悲哀了,本来想在windows上摆脱商业编译环境的限制的,结果却又不得不重新用回来 (2016-06-03 19:59) 

也不是那么悲观,mingw-w64目前还是不错的,貌似mingw-w64的发起人叫kai xxx什么什么的,他是红帽子公司员工,本身又是gcc的核心开发者.所以gcc官方也有对mingw-w64的支持.
还有,得益于msys2项目的成立,以及一些linux发行版的支持,基于mingw-w64的mingw编译器一般会经过数以千计开源项目的编译测试.
当然也有用于大型项目的例子,比如说tor browser,一个fork自firefox的浏览器项目,就是使用mingw编译器编译. codeblocks项目也一直使用mingw编译器编译.
TDM-GCC,mingw-builds发布的编译器质量还是可以的,他们的态度也比较谨慎,比如说目前一直没有发布mingw 6.0,就是因为没有通过回归测试,binutils 2.26的windows支持又太不给力.还有mingw-w64数学库的bugs不知道什么时候修复.

johnyork 2016-06-04 20:15
adonais:也不是那么悲观,mingw-w64目前还是不错的,貌似mingw-w64的发起人叫kai xxx什么什么的,他是红帽子公司员工,本身又是gcc的核心开发者.所以gcc官方也有对mingw-w64的支持.
还有,得益于msys2项目的成立,以及一些linux发行版的支持,基于mingw-w64的mingw编译器一般会经过数以千计开源 .. (2016-06-03 22:18) 

上面我提到的MinGW-w64的链接器BUG未修复已经有快一年时间了,而且貌似从GCC v5.x开始这个BUG就存在了,导致我一直没办法用新版MinGW-w64编译器编译Qt,这也使得我对开源软件的信心越来越不足了-_-!

adonais 2016-06-05 10:43
johnyork:
上面我提到的MinGW-w64的链接器BUG未修复已经有快一年时间了,而且貌似从GCC v5.x开始这个BUG就存在了,导致我一直没办法用新版MinGW-w64编译器编译Qt,这也使得我对开源软件的信心越来越不足了-_-!

一般来说,这往往是因为-ffunction-sections -fdata-sections引起的,如果你编译的是64位版本.
你可以-Wa,-mbig-obj 参数试试.
这里确实要吐槽一下binutils.
在gcc里,一般-ffunction-sections -fdata-sections和-Wl,--gc-sections一起出现.
但是binutils对COFF-PE格式并不支持gc-sections,直到目前git trunk才实验性的支持.

johnyork 2016-06-05 20:39
adonais:一般来说,这往往是因为-ffunction-sections -fdata-sections引起的,如果你编译的是64位版本.
你可以-Wa,-mbig-obj 参数试试.
这里确实要吐槽一下binutils.
在gcc里,一般-ffunction-sections -fdata-sections和-Wl,--gc-sections一起出现.
....... (2016-06-05 10:43) 

非常感谢!我去试试!

fsu0413 2016-06-06 18:49
johnyork:比如现在最新版的MinGW-w64,gcc version 5.3.0,编译Qt 5.5.1以上版本非常蛋疼,在链接Qt3D模块中的一个工具程序时链接器就很蛋疼的报告too many sections然后失败。现在只能无尽的等待…… (2016-06-02 23:24) 

我为什么编译的时候没出现。。。。。

johnyork 2016-06-09 23:03
fsu0413:我为什么编译的时候没出现。。。。。 (2016-06-06 18:49) 

你是编译的32位版本吧?

realfan 2016-06-10 09:04
johnyork:太悲哀了,本来想在windows上摆脱商业编译环境的限制的,结果却又不得不重新用回来 (2016-06-03 19:59) 

用VS社区版本,也是免费的。

fsu0413 2016-06-13 06:50
johnyork:你是编译的32位版本吧? (2016-06-09 23:03) 

32 64都编译。。。。

johnyork 2016-06-13 19:17
fsu0413:32 64都编译。。。。 (2016-06-13 06:50) 

GCC版本是不是5.3?

圣域天子 2016-07-13 21:47
我想不明白为什么不去考虑支持一下 Clang 编译器呢?它应该比gcc要优秀不少啊。

圣域天子 2016-07-15 09:18
我装了vs2015版的5.7,里面也没有QWebEngIne和QWebView
难道只支持 QtQuick 的吗?Widget中没有了???

fsu0413 2016-07-19 19:42
圣域天子:我装了vs2015版的5.7,里面也没有QWebEngIne和QWebView
难道只支持 QtQuick 的吗?Widget中没有了???[表情]  (2016-07-15 09:18) 

WebEngine和WebView一直都是有的。
WebEngine是Widgets和QML都有,WebView只有QML

fsu0413 2016-07-19 19:43
圣域天子:我想不明白为什么不去考虑支持一下 Clang 编译器呢?它应该比gcc要优秀不少啊。 (2016-07-13 21:47) 

5.7开始支持,backend是VS2015

baisetuzi 2018-03-21 16:18
请教大家,WebEngine支持ARM-linux吗?

dddggg 2018-04-13 10:39
刚好也遇到

大漠之鹰 2018-09-13 19:36
baisetuzi:请教大家,WebEngine支持ARM-linux吗?
 (2018-03-21 16:18) 

这个是支持的

XChinux 2021-01-21 09:47
圣域天子:我装了vs2015版的5.7,里面也没有QWebEngIne和QWebView
难道只支持 QtQuick 的吗?Widget中没有了???[表情]  (2016-07-15 09:18) 

我用的安装版网友编译的带webkit的Qt 5.7.1
http://www.qtcn.org/bbs/thread-htm-fid-68.html

海森堡 2021-01-21 18:54
XChinux:我用的安装版网友编译的带webkit的Qt 5.7.1
http://www.qtcn.org/bbs/thread-htm-fid-68.html (2021-01-21 09:47) 

你这个连接似乎不对啊,打开是一个版本,而不是一个贴子


查看完整版本: [-- Qt的 MinGw版本一直都不支持WebEngIne吗? --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled