有啥工具可以为 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 的功能:mutex
、unique_lock
、condition_variable
、future
和 async
。
我已经在 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::thread
、std::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可执行文件呀, 急!!