5

我在 C++2011 中创建了一个程序,它实际上使用了 C++2011 的特性:mutexunique_lockcondition_variable和.futureasync

我已经在 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 程序?

4

2 回答 2

6

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

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

于 2012-04-04T14:17:58.663 回答
3

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

“构建支持以下技术:

OpenMP
LTO
Graphite
std_threads
std_atomics 

……”

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

希望这可以帮助

于 2012-04-04T13:17:47.327 回答