pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

具有完整 C++11 支持的 Windows C++ 編譯器(應該與

Windows C++ compiler with full C++11 support (should work with Qt)(具有完整 C++11 支持的 Windows C++ 編譯器(應該與 Qt 一起使用))
本文介紹了具有完整 C++11 支持的 Windows C++ 編譯器(應該與 Qt 一起使用)的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

哪個 C++ 編譯器目前在 Windows 平臺上完整支持 C++11?

Which C++ compiler currently has complete C++11 support on windows platform?

Microsoft 編譯器目前沒有完整的 C++11 支持(并且不會很快添加).
MinGW g++(來自 mingw.org)不支持開箱即用的 std::thread.它也無法編譯 Qt 4 源(在構建 QtGuid4.dll 時內存不足,已知的解決方法對我不起作用).
我浪費了幾天時間嘗試在 Windows 上使用 clang,設法編譯它,但無法啟用 c++11 支持,因為它需要 libstdc++,(我認為)當時沒有移植到 windows 平臺.Qt 4 也不支持它.

Microsoft compiler currently does not have full C++11 support (and it won't be added any time soon).
MinGW g++ (from mingw.org) does not support std::thread out of the box. It also can't compile Qt 4 sources (runs out of memory while building QtGuid4.dll, known workarounds didn't work for me).
I've wasted several days trying to make clang work on windows, managed to compile it, but couldn't enable c++11 support because it required libstdc++ which (I think) wasn't ported to windows platform at that moment. It also isn't supported by Qt 4.

還有什么?我已經為 C++03 工作了很長時間,我想嘗試一下新功能,但我真的不想要一個支持不完整的工具(這會在編寫代碼時增加額外的麻煩)代碼)或在鏈接庫時內存不足(在 8GB 系統上).

What else is there? I've been working for C++03 for a long time, and I'd like to give new features a whirl, but I don't really want a tool that with incomplete support (that'll add extra headache while writing a code) or can run out of memory (on 8GB system) while linking a library.

我正在開發 64 位 Windows 7,雖然支持 64 位會很好,但我最感興趣的是 32 位應用程序,因此生成 64 位可執行文件的能力是可選的.

I'm working on windows 7 64bit, and although having 64bit support would be nice, I'm mostly interested in 32bit applications, so ability to produce 64bit executables is optional.

有什么建議嗎?

推薦答案

首先看GCC 4.8 中實驗性 C++11 支持的狀態.只有一項提案尚未正式實施.然后,看看C的實現狀態libstdc++ 中的 ++11.如您所見,有些功能尚未實現.盡管如此,我們可以說 GCC 中的 C++11 支持或多或少完整并且可用.

First of all, see Status of Experimental C++11 Support in GCC 4.8. Only one proposal is not officially implemented yet. Then, have a look at Implementation Status of C++11 in libstdc++. As you can see some features are yet to be implemented. Nevertheless, we can state that C++11 support in GCC is more or less complete and usable.

現在,關于 Windows:可能絕對是最好的原生(不是Cygwin!) GCC 的端口>,我個人認為生產質量是MinGW-w64.您可以在此處下載.當前(在撰寫本文時)最新版本基于 GCC 4.8.2.它已經支持 std::thread.更重要的是,它提供了所有可能的變化:

Now, concerning Windows: probably definitely the best native (not Cygwin!) port of GCC, which I personally consider production-quality, is MinGW-w64. You can download it here. The current (at the time of writing) latest version is based on GCC 4.8.2. It already has support for std::thread. What's more, it offers all the possible variations:

  • 64 位目標;
  • 32 位目標;
  • Win32 線程;
  • POSIX 線程;
  • SEH 例外;
  • 矮人異常;
  • SJLJ 例外.

注意:
選擇要下載的發行版時要小心:要使 std::thread 可用,您需要具有 POSIX 線程的發行版.

NOTE:
Be careful when choosing which distribution to download: for std::thread to be available, you need the one with POSIX threads.

此外,我確認我自己已經多次構建 Qt 4.8.4 和 4.8.5,甚至使用此工具鏈針對 64 位.但這還不是全部,這里列出了迄今為止我個人使用 MinGW-w64 構建的一些亮點:

Furthermore, I confirm that I've built Qt 4.8.4 and 4.8.5 myself numerous times and even targeting 64-bit with this toolchain. But that's not all, here is a list of some highlights that I've personally built with MinGW-w64 so far:

  • Boost C++ 庫;
  • Qt;
  • LLVM/Clang;
  • Google V8 JavaScript 引擎
  • ODB:C++ 對象關系映射 (ORM);
  • SQLite;
  • GLEW;
  • Vim;
  • ncurses;
  • 等等...

我認為能夠使用適用于 Windows 的舊 GCC 構建像 64 位目標這樣龐大而多樣的代碼庫是 MinGW-w64 開發團隊的奇跡般的成就.再次證明了工具鏈的質量.

I think being able to build such huge and diverse code bases as 64-bit targets with good old GCC for Windows is a miraculous achievement of MinGW-w64 developer team. It once again proves the quality of the toolchain.

我最近使用面向 x64 的 MinGW-w64 4.8.2 構建了 Qt 5.1.1.總而言之,它進行得很順利,但是在構建之前必須修補一些小問題.我已經輕輕地收集了所有需要的補丁,并使用一個簡單的批處理腳本自動完成了打補丁、構建和安裝的整個過程.如果您有興趣,請查看我的 Qt for Windows.用法非常簡單,我將跳過對其進行評論,而只是讓你們閱讀批處理腳本.請記住,您需要 Unix 的 patch.exe 來應用您可以從 MSYS 或 MSYS2 獲得的補丁(見下文).可以獲取Qt 5.1.1源代碼此處.

I've recently built Qt 5.1.1 using MinGW-w64 4.8.2 targeting x64. All in all, it went pretty smooth, but there are a few minor issues which have to be patched before the build. I've gently collected all the required patches and automated the whole process of patching, building, and installing with a simple batch script. If you are interested, check out my Qt for Windows. The usage is so simple that I'll skip commenting on it and simply let you guys read the batch script. Keep in mind that you need Unix's patch.exe to apply the patches which you could get, for example, from MSYS or MSYS2 (see below). You can obtain Qt 5.1.1 source code here.

注意:
重新發明輪子(維護 Qt 的個人構建腳本和補丁)似乎不再合理.MSYS2(見下文)現在負責一切一個>.也就是說,如果您需要使用不同的選項和/或標志重建 Qt,那么只需編輯相應的 PKGBUILD 本地文件并使用 makepkg-mingw 實用程序.

NOTE:
Does not seem reasonable to reinvent the wheel (maintaining personal build scripts and patches for Qt) anymore. MSYS2 (see below) now takes care of everything. That is if you need to rebuild Qt with different options and/or flags, then simply edit the corresponding PKGBUILD file locally and use the makepkg-mingw utility accordingly.

注意:
其實Qt項目官方推薦使用MinGW-w64和MSYS2.

這不是直接問的,但我想在這里添加它,因為這是MinGW-w64的姊妹項目,對于必須使用Unix為Windows開發本機軟件的人來說非常有用- 類似環境.

This was not asked directly, but I feel like adding it here as this is a sister project of MinGW-w64, and it's very useful for anyone who has to develop native software for Windows using Unix-like environment.

那些曾經使用過原始 MSYS 的人可能知道多少歲了.它已經很久沒有改進了,那里的所有 Unix 實用程序都已經過時了.

Those of you who have ever used the original MSYS probably know how old it is. It hasn't been improved for ages, and all the Unix utilities there are already terribly outdated.

提供 MinGW-w64 構建(如上所列)的人,現在還提供 MSYS2,您可以在此處下載>.最近,它出來了測試版,所以一定要查看最新版本.它是為 x86 和 x64 架構構建的(使用 MinGW-w64 工具鏈本身).所有實用程序都更新為最新版本.例如,您已經可以享受以下內容:Bash 4.2、Make 3.99、Git 1.8.4 等等;開箱即用,在 Windows 上本地運行!

Guys who provide builds of MinGW-w64 (listed above), now also provide builds of MSYS2 which you can download here. Recently, it came out of beta, so be sure to checkout the latest release. It's built for both x86 and x64 architectures (with the MinGW-w64 toolchain itself). All the utilities are updated to their latest versions. For instance, you can already enjoy things like: Bash 4.2, Make 3.99, Git 1.8.4, and many more; which run natively on Windows out of the box!

注意:
請務必查看他們的 Wiki 以順利開始.

NOTE:
Make sure to check their Wiki to have a smooth start.

最初的 MinGW 改進非常緩慢,其開發人員也沒有甚至考慮添加 64 位目標生成支持.由于他的公司需要在 Windows 上構建 64 位目標,一位雄心勃勃的人 Kai Tietz 接管了它并將其分叉.MinGW-w64 項目就是這樣誕生的.盡管主要目標是添加 64 位支持,但開發人員已在許多方面改進了工具鏈并解決了許多其他問題.從那時起,MinGW-w64 項目不斷發展,現在在質量方面遠遠領先于 MinGW.當MinGW-w64向MinGW提出加入房屋一起工作時,MinGW的開發者反應不足,拒絕合作.結果,今天有兩個名稱相似的項目,有時會引起混淆,但質量和支持的差異不言而喻.

The original MinGW was very slow on improvements, and its developers didn't even consider adding 64-bit target generation support. One ambitious guy, Kai Tietz, took over it and forked it as his company needed to build 64-bit targets on Windows. That's how MinGW-w64 project was born. Although the primary goal was to add 64-bit support, the developers have improved the toolchain in many aspects and addressed a great deal of other issues. Since then the MinGW-w64 project has grown and now is far ahead of MinGW in terms of quality. When MinGW-w64 proposed to MinGW to join the houses and work together, the developers of MinGW showed inadequate reaction and refused to cooperate. As a result, today there are 2 projects with similar name what sometimes causes confusion, but the differences in quality and support speak for themselves.

這篇關于具有完整 C++11 支持的 Windows C++ 編譯器(應該與 Qt 一起使用)的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

How can I read and manipulate CSV file data in C++?(如何在 C++ 中讀取和操作 CSV 文件數據?)
In C++ why can#39;t I write a for() loop like this: for( int i = 1, double i2 = 0; (在 C++ 中,為什么我不能像這樣編寫 for() 循環: for( int i = 1, double i2 = 0;)
How does OpenMP handle nested loops?(OpenMP 如何處理嵌套循環?)
Reusing thread in loop c++(在循環 C++ 中重用線程)
Precise thread sleep needed. Max 1ms error(需要精確的線程睡眠.最大 1ms 誤差)
Is there ever a need for a quot;do {...} while ( )quot; loop?(是否需要“do {...} while ()?環形?)
主站蜘蛛池模板: 烟气在线监测系统_烟气在线监测仪_扬尘检测仪_空气质量监测站「山东风途物联网」 | 无压烧结银_有压烧结银_导电银胶_导电油墨_导电胶-善仁(浙江)新材料 | 龙门加工中心-数控龙门加工中心厂家价格-山东海特数控机床有限公司_龙门加工中心-数控龙门加工中心厂家价格-山东海特数控机床有限公司 | ICP备案查询_APP备案查询_小程序备案查询 - 备案巴巴 | 塑料瓶罐_食品塑料瓶_保健品塑料瓶_调味品塑料瓶–东莞市富慷塑料制品有限公司 | 龙门加工中心-数控龙门加工中心厂家价格-山东海特数控机床有限公司_龙门加工中心-数控龙门加工中心厂家价格-山东海特数控机床有限公司 | 商标转让-购买商标专业|放心的商标交易网-蜀易标商标网 | 好看的韩国漫画_韩漫在线免费阅读-汗汗漫画| 国际线缆连接网 - 连接器_线缆线束加工行业门户网站 | 苏州柯瑞德货架-仓库自动化改造解决方案 | 根系分析仪,大米外观品质检测仪,考种仪,藻类鉴定计数仪,叶面积仪,菌落计数仪,抑菌圈测量仪,抗生素效价测定仪,植物表型仪,冠层分析仪-杭州万深检测仪器网 | 坏男孩影院-提供最新电影_动漫_综艺_电视剧_迅雷免费电影最新观看 | 济南轻型钢结构/济南铁艺护栏/济南铁艺大门-济南燕翔铁艺制品有限公司 | 对夹式止回阀_对夹式蝶形止回阀_对夹式软密封止回阀_超薄型止回阀_不锈钢底阀-温州上炬阀门科技有限公司 | 苏州西朗门业-欧盟CE|莱茵UL双认证的快速卷帘门品牌厂家 | 飞歌臭氧发生器厂家_水处理臭氧发生器_十大臭氧消毒机品牌 | 经济师考试_2025中级经济师报名时间_报名入口_考试时间_华课网校经济师培训网站 | 拉力测试机|材料拉伸试验机|电子拉力机价格|万能试验机厂家|苏州皖仪实验仪器有限公司 | 据信,上课带着跳 D 体验-别样的课堂刺激感受引发网友热议 | 衬氟止回阀_衬氟闸阀_衬氟三通球阀_衬四氟阀门_衬氟阀门厂-浙江利尔多阀门有限公司 | 耐高温风管_耐高温软管_食品级软管_吸尘管_钢丝软管_卫生级软管_塑料波纹管-东莞市鑫翔宇软管有限公司 | 外贮压-柜式-悬挂式-七氟丙烷-灭火器-灭火系统-药剂-价格-厂家-IG541-混合气体-贮压-非贮压-超细干粉-自动-灭火装置-气体灭火设备-探火管灭火厂家-东莞汇建消防科技有限公司 | 舞台木地板厂家_体育运动木地板_室内篮球馆木地板_实木运动地板厂家_欧氏篮球地板推荐 | 精准猎取科技资讯,高效阅读科技新闻_科技猎 | POS机官网 - 拉卡拉POS机免费办理|官网在线申请入口 | 视觉检测设备_自动化检测设备_CCD视觉检测机_外观缺陷检测-瑞智光电 | 密封无忧网 _ 专业的密封产品行业信息网 | 章丘丰源机械有限公司 - 三叶罗茨风机,罗茨鼓风机,罗茨风机 | 设定时间记录电子秤-自动累计储存电子秤-昆山巨天仪器设备有限公司 | 上海乾拓贸易有限公司-日本SMC电磁阀_德国FESTO电磁阀_德国FESTO气缸 | 维泰克Veertek-锂电池微短路检测_锂电池腐蚀检测_锂电池漏液检测 | 德州万泰装饰 - 万泰装饰装修设计软装家居馆| 气胀轴|气涨轴|安全夹头|安全卡盘|伺服纠偏系统厂家-天机传动 | 济宁工业提升门|济宁电动防火门|济宁快速堆积门-济宁市统一电动门有限公司 | 领袖户外_深度旅游、摄影旅游、小团慢旅行、驴友网 | 胜为光纤光缆_光纤跳线_单模尾纤_光纤收发器_ODF光纤配线架厂家直销_北京睿创胜为科技有限公司 - 北京睿创胜为科技有限公司 | 石英砂矿石色选机_履带辣椒色选机_X光异物检测机-合肥幼狮光电科技 | 泥沙分离_泥沙分离设备_泥砂分离机_洛阳隆中重工机械有限公司 | 工业插头-工业插头插座【厂家】-温州罗曼电气 | 上海恒驭仪器有限公司-实验室平板硫化机-小型平板硫化机-全自动平板硫化机 | 英国公司注册-新加坡公司注册-香港公司开户-离岸公司账户-杭州商标注册-杭州优创企业 |