首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

MSVC2012总算“真正”支持C++11了(Windows XP Targeting)

2012-12-30 
MSVC2012终于“真正”支持C++11了(Windows XP Targeting)!本帖最后由 Loaden 于 2012-11-08 11:38:51 编辑Vi

MSVC2012终于“真正”支持C++11了(Windows XP Targeting)!
本帖最后由 Loaden 于 2012-11-08 11:38:51 编辑 Visual Studio 2012 (MSVC2012,即VC11) 虽然早已发布,但由于编译的程序不能在Windows XP上跑,一直被很多人无视。如今形势有变。
看这个文章:CTP of Windows XP Targeting with C++ in Visual Studio 2012

提取出来的纯命令行编译器:
1. 已应用Update 1 CTP4补丁,支持Windows XP Targeting
2. 集成应用补丁后的Windows SDK 7.1
3. 集成原生的32位与64位编译器。
下载:http://download.csdn.net/detail/loaden/4745378

代码:

#include <iostream>
#include <thread>

void wait(int seconds)
{
    std::this_thread::sleep_for(std::chrono::seconds(seconds));
}

void thread()
{
    for (int i = 0; i < 6; ++i)
    {
        wait(2);
        std::cout << i << std::endl;
    }
}

int main()
{
    std::thread t(thread);
    t.join();
    return 0;
}

动态链接编译CRT:
cl /EHsc /MD -c test.cpp && link /SUBSYSTEM:CONSOLE,5.01 test.obj && test.exe

默认是静态链接CRT的:
cl /EHsc -c test.cpp && link /SUBSYSTEM:CONSOLE,5.01 test.obj && test.exe


在XP上测试,一切正常。
环境变量:
INCLUDE=C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\INCLUDE;C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\ATLMFC\INCLUDE;C:\Program Files (x86)\Windows Kits\8.0\include\shared;C:\Program Files (x86)\Windows Kits\8.0\include\um;C:\Program Files (x86)\Windows Kits\8.0\include\winrt;
 
LIB=C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\LIB;C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\ATLMFC\LIB;C:\Program Files (x86)\Windows Kits\8.0\lib\win8\um\x86;
 
PATH=C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow;C:\Program Files (x86)\Microsoft SDKs\F#\3.0\Framework\v4.0\;C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\;C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\BIN;C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Tools;C:\Windows\Microsoft.NET\Framework\v4.0.30319;C:\Windows\Microsoft.NET\Framework\v3.5;C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\VCPackages;C:\Program Files (x86)\HTML Help Workshop;C:\Program Files (x86)\Microsoft Visual Studio 11.0\Team Tools\Performance Tools;C:\Program Files (x86)\Windows Kits\8.0\bin\x86;C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\;C:\Perl64\site\bin;C:\Perl64\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;D:\Program Files\Git\cmd;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files (x86)\Windows Kits\8.0\Windows Performance Toolkit\
 

更新使用这个:vsupdate_KB2707250.exe
比较慢:因为要下载。


测试的是CTP4。


[解决办法]
我的 vs2010 就已经支持一部分特性了,楼主有没有找到支持特性的完整列表?
[解决办法]
巨无霸VC2012,小心为妙MSVC2012总算“真正”支持C++11了(Windows XP Targeting)
[解决办法]
但是支持的特性还是比gcc4.7少很多吧?
[解决办法]
ctp,属于技术预览版,要想项目中用,还是==吧
[解决办法]
这个是非gui的程序,能不能有win32窗口的测试?
[解决办法]
不知道我们学生现在用哪个好一点? 有没有必要用最新的编译器啊?
课上老师都让用的VC6.0……
[解决办法]
更新了好多,还支持Variadic templates了
[解决办法]

引用:
不知道我们学生现在用哪个好一点? 有没有必要用最新的编译器啊?
课上老师都让用的VC6.0……

确实呀,是适合不同人群的,如果是简单的编程学习,vc6就行鸟。。。
[解决办法]
还在用vc2008.
[解决办法]
2008是正式支持win2k的最后版本,2010需要winxp,SSE4.2、AVX指令都支持,如果不需要开发metro应用之类的,没必要使用2012。

热点排行