有什么工具可以编译C++2011代码以针对Windows目标?

5
我用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目标。(虽然它们支持Linux目标的g++-4.6。)截至目前,有没有任何(免费的)解决方案可以为Windows目标编译C++2011程序呢?

1
这就是为什么你不应该急于使用新的标准的原因... - SigTerm
在Win8 beta虚拟机中运行VS 2012 beta是否存在技术问题? - Ben Voigt
Visual Studio S2012(VS11)可以在Windows 7上运行。 - RedX
@SigTerm,使用这些功能,直接嵌入到语言和标准库中,真是太诱人了:它可以加速编程。我花费的时间更多地用于适应WinApi调用(以及发现cin/cout问题),而不是一开始就编写程序! - Didier Trosset
2个回答

6

我的(商业) Just::Thread库 可以提供MSVC 2005/2008/2010以及TDM端口的mingw-gcc 4.5/4.6上的 std::thread, std::mutex等功能。不过它并非免费。

另外,可以尝试寻找适用于mingw的gcc 4.7版本的构建。虽然gcc 4.7已经应该支持在Windows上使用线程库,但它尚未正式发布。


我不确定你是否意味着mingw还不支持gcc 4.7,但是gcc 4.7已经发布了:http://gcc.gnu.org/ml/gcc/2012-03/msg00347.html - bames53
我的意思是我还没有看到官方的mingw gcc 4.7版本。 - Anthony Williams
看起来谷歌的mingw-builds页面现在有gcc 4.7版本的发布构建。http://code.google.com/p/mingw-builds/downloads/list - Anthony Williams

3

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

"构建支持以下技术:

OpenMP
LTO
Graphite
std_threads
std_atomics 

希望这可以帮到你:http://code.google.com/p/mingw-builds/


已下载版本4.6。运行完美。谢谢。 - Didier Trosset

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接