有啥工具可以为 Windows 目标编译 C++2011 代码?

Posted

技术标签:

【中文标题】有啥工具可以为 Windows 目标编译 C++2011 代码?【英文标题】:What tool exists to compile C++2011 code for Windows target?有什么工具可以为 Windows 目标编译 C++2011 代码? 【发布时间】:2012-04-04 13:04:10 【问题描述】:

我在 C++2011 中创建了一个程序,它实际上使用了 C++2011 的功能:mutexunique_lockcondition_variablefutureasync

我已经在 Debian Linux 64 位机器上对其进行了测试,它的编译和运行就像一个魅力。


现在,我想为 Windows 编译它。

我试用了 Visual C++ Express 2010,但它不支持 C++ 的新功能。 (Visual C++/Studio 2012 的 Beta 版只能在 Windows 8 上运行。)

我尝试使用 mingw-g++ (4.6) 进行交叉编译,但 Windows 目标似乎不支持这些新功能。 (尽管它们支持 g++-4.6 for Linux 目标)。

到目前为止,是否有任何(免费?)解决方案可以为 Windows 目标编译 C++2011 程序?

【问题讨论】:

这就是为什么你不应该急于使用新标准... 在 Win8 beta 虚拟机中运行 VS 2012 beta 是否存在技术问题? Visual Studio S2012 (VS11) 在 Windows 7 上运行。 @SigTerm 使用所有这些功能,就在这里,嵌入到语言和标准库中非常诱人:它加快了编程速度。我花更多的时间使程序适应 WinApi 调用(并发现 cin/cout 问题),而不是一开始就编写它! 【参考方案1】:

我的(商业)Just::Thread library 为 Windows 上的 MSVC 2005/2008/2010 和 mingw-gcc 4.5/4.6 的 TDM 端口提供std::threadstd::mutex 和朋友。不过,它不是免费的。

或者,为 mingw 寻找 gcc 4.7 的构建。对 Windows 上的线程库的支持应该是在 gcc 4.7 中开箱即用的,但它还没有正式发布。

【讨论】:

我不确定你的意思是不是 mingw 对 gcc 4.7 的支持还没有出来,但是 gcc 4.7 已经出来了:gcc.gnu.org/ml/gcc/2012-03/msg00347.html 我的意思是我还没有看到官方的mingw gcc 4.7。 google mingw-builds 页面现在似乎有 gcc 4.7 发布版本。 code.google.com/p/mingw-builds/downloads/list【参考方案2】:

我还没有尝试过,但是项目网站上的这句话听起来很有希望:

“构建支持以下技术:

OpenMP
LTO
Graphite
std_threads
std_atomics 

..."

http://code.google.com/p/mingw-builds/

希望对你有帮助

【讨论】:

已下载 4.6 版。完美运行。谢谢。

以上是关于有啥工具可以为 Windows 目标编译 C++2011 代码?的主要内容,如果未能解决你的问题,请参考以下文章

有啥工具可以将java源代码编译成windows里的.exe可执行文件呀, 急!!

C语言中编译 生成 调试 测试 运行各是啥意思有啥区别

gcc 和VC++有啥区别呢,VC++编译时用的编译器 相当于gcc的是啥东西

C++和VisualC++有啥区别?

ubuntu下交叉编译windows c程序

GCC是啥编译器?跟vc自带的有啥不同?