VS 2017 中的C++游戏开发工作负荷

原文发表时间: 3/07/2017 原文发表址: C++ game development workload in Visual Studio 2017 在Visual Studio 2017版本中我们将介绍一个全新的“使用C++的游戏开发”工作负荷,如果你想用C++创建高质量的游戏软件,这个工作负荷将会帮助你更容易地获取需要的工具。无论你是使用DirectX或是例如 Unreal或Cocos2d这样功能强大的游戏引擎,Visual Studio都可以同时安装这些你所需要的所有工作负荷。 在这篇博客中,我们会讨论如何来安装带有下面四个不同的C++游戏开发方案的Visual Studio: DirectX games for desktop,DirectX games for Universal Windows Platform (UWP), games with the Unreal Engine和 games with the Cocos2d engine。 安装带有DirectX 桌面开发的Visual Studio 首先,下载Visual Studio 2017。打开Visual Studio安装器界面,在“移动与游戏” 分类下选择“使用C++的游戏开发”工作负荷。这个工作负荷将会提供给你一些核心的工具来创建桌面DirectX游戏,包括Visual Studio核心编辑器,Visual C++编译器,Windows Universal C Runtime和Visual Studio调试器。 在安装界面右边的可选组件列表里你可以选择一些对创建DirectX游戏有用的附加组件。强烈推荐下面的组件: C++分析工具:包括DirectX的图形调试和一套内存,CPU以及GPU的分析工具。这个组件是默认被选的。 Windows…

0

VS 2017 RTM 关于STL 的修复

  [原文发表地址]VS 2017 RTM 关于STL 的修复 [原文发表时间] 2017/2/6 9:20AM VS 2017 RTM 版本很快就要发布了。 目前VS 2017 RC 已经投入使用,并且包含了我们在这里描述的所有改变 – 请尝试在IDE 的help >Send Feedback >Report A Problem (或者 Provide A Suggestion) 提交您的反馈信息。 关于STL 在VS2015 update 3 和 VS 2017 RTM之间的改变, 这是第三篇也是最后一篇博客。 在第一篇博客中(关于2017 Preview 4),我们详细地阐述了2015 和2017 版本是如何实现二进制兼容问题的。 在第二篇博客中(关于VS 2017 Preview 5),我们列举了那些添加到编译器和STL 的模块。(从此之后,我们已经实现了P0504R0中新引入的 in_place_t/in_place_type_t<T>/in_place_index_t<I> 和P0510R0 中抛弃的数组, 引用以及不完整类型变量。) Vector 修改:…

0

yield”关键字在VS2017中被“co_yield”替换

原文发表地址] `yield` keyword to become `co_yield` in VS 2017 [原文作者] EricMittelette [原文发表时间] 2017/1/27 协程(Coroutines)—也就是之前我们说的”C++ resumable方法重入函数”—它作为技术规范TS的一部分已经在Visual C++编译器上实现.自2013年11月VC++ CTP release版本发布支持协程功能,已经有三年的时间. 如果你正在使用协程,你应该发现关键字’yield’在VS2017中被移除.如果你的代码里面含有’yield’关键字, 你需要将它们替换为’co_yield’.如果生成器使用了’yield 表达式’,这些也需要替换为’co_yield 表达式’. 如果想将’await’替换为’co_await’, 协程中的‘return’替换为’co_return’.新的Visual C++编译器也会接受这样的改变. 请参考协程技术规范: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/n4628.pdf 如果有什么问题,你也可以给我们发邮件或者在评论下面留言. 为什么这样改变 作为技术规格,协程还没有被C++标准采纳.Visual C++团队最初实现协程功能时,它还只是个有前景的C++特性.2015年10月,C++标准委员会投票引入前缀”co_”去替换关键字.委员会不想改变可能会引起冲突的正在使用的关键字.”yield”关键字已经被广泛使用在农业和财务相关的应用软件中.同时,thread support library线程支持库中的Ranges TS 关键字替换如下图   Instead of `await` Use `co_await` Instead of `return` Use `co_return` Instead of `yield` Use `co_yield` 我们在VS2017中移除了”yield”关键字是因为Range-V3特性的实现, 我们希望许多开发人员声明了ranges(using namespace ::ranges)后去调用”yield”….

0

Visual Studio Code C/C++ 扩展12月份的更新

[原文发表地址] December Update for the Visual Studio Code C/C++ extension [原文发表时间] 2016/12/12 在今年的//Build大会上我们推出了Visual Studio Code的C/C++扩展, 我们将保持每月发行的节奏和目标并不断对您的反馈做出回应。下面将介绍十二月份更新的一些功能: GDB用户的调试器可视界面的默认美观输出 在调试过程中能够映射到源文件 如果您还没来得及给我们提供反馈,为了这个扩展能够更好的满足您的需要,请您填一下这份快速调查问卷。最初的博客中已经更新了这些新功能,现在让我们一起仔细地逐一学习一下它们。 GDB用户的调试器可视界面的默认美观输出 使用美观输出器使GDB的输出更具有可用性,因此使调试更加地容易。美观输出现在可以被预先设置在‘launch.json’文件中的‘setupCommands’部分里,‘-enable-pretty-printing’的标志说明现在美观输出是可用的。这个标志可以传递到GDB MI来开启美观输出。 为了说明美观输出的优点,让我们来看看下面这个例子。 #include <iostream> #include <string> #include <vector> using namespace std; int main() { vector<float> testvector(5,1.0); string str = “Hello World”; cout << str; return 0; } 在一个实时调试会话中,让我们看一下如果没有开启美观输出时‘str’ 和‘testvector’的样子: 现在我们可以看到‘str’ 和‘testvector’的值看起来很隐晦很难懂…… 让我们再看一下开启了美观输出时‘str’ 和‘testvector’的值: 现在我们可以感受到这两个值是如此的简单明了!…

0

Visual Studio 2017 支持CMake了— 在RC.2版本中关于CMake的更新

[原文发表地址]  CMake support in Visual Studio 2017 – what’s new in the RC.2 update [原文发表时间] 2016/12/20 为了防止您错过Visual Studio的最新动态,您可以查看Visual Studio 2017 RC的最新可用版本。您可以在已经安装的Visual Studio上直接更新到RC版本,或者您也可以从Visual Studio 2017 RC下载页面直接安装。这次的发布版本在Visual Studio’s CMake部分做出了一些改善,可以进一步简化C++项目的开发体验。 如果您才刚刚开始在Visual Studio上使用CMake,Visual Studio开始支持CMake这篇博客是比较好的资料,这篇博客可以让您对在Visual Studio上CMake的功能有更加充分的了解,同时包括在本篇博客中提及的功能的最新更新。另外,如果您对不使用CMake 和MSbuild的C++代码库的“Open Folder”这个功能比较感兴趣,可以查阅the Open Folder for C++ 这篇博客。 这次更新的RC版本增加了下列这些功能: 打开多个CMake项目 编辑CMake项目 配置CMake 生成和调试CMake的目标文件 打开多个CMake项目 现在您可以打开有任意多数目的CMake项目的文件夹。Visual Studio将会在您的工作空间里检测出所有“root”里的CMakeLists.txt文件,然后再恰当地配置它们。在您的工作空间里所有CMake项目的CMake操作(配置,生成,调试)以及C++智能感应和浏览都是可用的。 如果多个CMake项目使用相同的CMake配置名称,当特定的配置被选择的时候,这些有相同名称的项目都可以被配置并创建(在它们自己的CMake项目中独立生成根文件夹)。当然您也可以调试来自于CMake配置文件中配置的所有CMake项目的目标文件。 如果您喜欢独立的项目,您仍然可以(通过CMakeSettings.json 文件)对特定的CMakeLists.txt设置单独的CMake配置。如果这样设置的话,当这个特定配置被选择的时候,只有特定的CMake项目是可以生成并调试的,同时基于CMake的C++智能感应也仅仅对它的源文件起作用。 编辑CMake项目 CMakeLists.txt和*.cmake文件语法的彩色化显示。当打开一个CMake项目时,编辑器将会提供基础的语法彩色化显示和基于代码编辑的智能感应。 在错误列表和输出窗口中改善了CMake的警告和错误显示。CMake的错误和警告现在都聚集在错误列表窗口中,在错误列表窗口或输出窗口中双击任意一个错误或警告将会打开相应的CMake文件并定位到错误行或警告行。 配置CMake 取消CMake生成cache。当您打开一个包含CMake项目的文件夹或在CMakeLists.txt文件中做一些改变并保存后,配置都将会自动生成Cache。如果因为某些原因您不希望它成功运行,您可以点击编辑器上面的黄色消息条中的“Cancel”或者右键点击根目录的CMakeLists.txt然后选择“Cancel Cache…

0

用Visual Studio Code 来生成您的C++应用程序

[原文发表地址] 用Visual Studio Code 来生成您的C++应用程序 [原文发表时间] 2016/10/24 在过去的几个月里,我们收到了很多反馈关于希望可以在Visual Studio Code 中允许开发人员生成他们的C++应用程序。在Visual Studio Code中这个任务可以扩展为使生成,打包,测试和配置这些任务可以自动化实现。这篇文章将会说明如何在Visual Studio Code中使用任务扩展性,您可以通过下面各部分的帮助来调用编译,生成系统和其他外部的任务: 安装C/C++生成工具 生成一个简单的Visual Studio Code任务 在Visual Studio Code任务中直接调用GCC和Clang 使用Visual Studio Code任务扩展来调用Makefiles 使用Visual Studio Code任务扩展来调用MSbuild 使用Visual Studio Code扩展来调用CMake 安装C/C++生成工具 为了生成您的C++代码您首先应该确认在您的机器中已经安装了C/C++生成工具(编译器,连接器和生成系统)。如果您已经在Visual Studio Code外安装了这些工具并可以在外部生成工程,您可以直接跳到下一部分。 您可以在Visual C++ 生成工具中下载这些工具然后安装在机器里。这些工具默认的安装路径是 ‘C:\Program Files (x86)\Microsoft Visual C++ Build Tools’。如果您还没有安装Visual studio, 您只需要做这一步就好了。如果您已经安装了Visual Studio, 那么您需要的一切已经准备就绪了。 如果您工作在支持apt-get的Linux平台,您可以运行下面的命令来确保您是否安装了正确的可以生成C/C++代码的工具。 sudo apt-get install g++ sudo…

0

VS “15”包含C++核心检查代码分析

发表时间:2016.10.12 作者:Andrew Pardoe 原文发表地址:https://blogs.msdn.microsoft.com/vcblog/2016/10/12/cppcorecheck/ Visual Studio “15” Preview5现在已经包含了C++核心准则检查器。这就意味着您不再需要从NuGet安装代码核心检查包来检查你的代码是否符合C++核心准则的规则和配置文件。您只需要配置代码分析就可以使其包含C++核心检查的扩展。 你可以在解决方案或者项目的属性页上来配置代码分析。右键单击项目或者解决方案,或从菜单栏中选择“分析->配置代码分析”。                 在属性页的底部找到代码分析条目,然后选择”扩展“。这里有两个选项:一个是启用已发布的C++核心检查,一个是启用实验核心检查。                   发布的核心检查VS试验的核心检查 发布的核心检查与试用的核心检查之间有什么不同?发布的核心检查更加健全。它们发现的警告比试用的的核心检查更加值得信赖并且检查器本身运行更快。现在,它们包括我们发布的VS 2015 Update1的第一组C++核心准则以及准则中的一些其他检查。 试验的检查包含正在开发的规则但是它会对你运行的代码不利。它们包含我们在2016年3月发布的生命周期检查以及其他正在开发的检查。请注意,虽然大多数的检查会从“试验”移到“发布”,但您不应该依赖实验组中的任何检查。因为其中有一些是原型,不会进入发布组。                     未来基于NuGet的包 提醒一下,如果你使用Visual Studio 2015,你必须从NuGet安装C++ 核心检查包,此更改仅适用Visual Studio “15”的下一个主要版本的Visual Studio。(注意VS”15”!=Visual Studio 2015,每一个版本的Visual Studio有两个名称:内部名称是一个简单的递增数字,外部名称是它的发布年份Visual Studio “15“恰好在Visual…

0

CMake 在Visual Studio – Visual Studio 2017 RC 更新中被支持了

[原文发表地址]CMake 在Visual Studio – Visual Studio 2017 RC 更新中被支持了 [原文发表时间] 2016/11/16 Visual Studio 2017 RC是一个很重要的发布版本,因为它开始支持CMake了。“Tools for CMake” VS 组件已经发布在预览版中了。我们也想邀请所有人把您的CMake项目导入到VS中来工作并且可以给我们反馈用户体验。 关于Visual Studio CMake体验的一些概述,在Visual Studio 开始支持CMake 的公告中已经对所有功能的讨论进行了更新。另外,如果您对不使用CMake或MSBuild的C++项目中的“Open Folder”比较感兴趣,您可以查看C++中打开文件夹的公告这篇博客。 RC版本支持如下: 编辑CMake项目 配置CMake项目 建立并调试CMake目标文件 编辑CMake项目 CMake默认配置。 只要您打开一个包含CMake项目的文件夹,解决方案资源管理器窗口将会列出文件夹中的所有文件,您可以在编辑窗口打开这些文件中的任意一个。在后台,VS将会开始检索您文件夹中的所有C++文件。VS也会开始运行CMake.exe来收集更多的关于您的CMake项目的信息(CMake cache也会在这个过程中生成)。CMake会生成一系列特殊的转换,这些转换作为VS生成“Visual Studio 15 X86“ 名下的CMake默认配置的一部分。 CMake配置转换。 您可以在工具一栏中的C++配置下拉菜单中转换CMake的配置。如果一个配置对CMake来说缺少必要的信息而不能准确地生成cache,您可以参考这篇博客后面的—如何配置CMake来进一步自定义它。 自动更新CMake cache。如果您对CMakeLists.txt文件做了改变或是转换了配置,CMake生成cache的步骤将会自动再次运行。您可以在CMake输出栏的输出窗口中追踪这一过程。 当生成步骤完成后,编辑窗口中的通知条将会消失,Startup Item下拉菜单中也会包括已更新的CMake目标文件清单,C++智能感应也会根据您对文件最新一次的改变来逐渐进行更新(例如,增加文件或是改变编译转换等等)。 配置CMake项目 通过CMakeSettings.json来配置CMake。 如果您的CMake项目需要额外的设置来正确地配置CMake cache,您可以首先在根目录有CMakeLists.txt的相同文件夹中创建一个CMakeSettings.json文件,然后通过这个CMakeSettings.json文件来自定义一些设置。在这个文件中您可以配置您所需要的任何关于CMake的配置—您也可以随时在这些配置中进行转换。 通过点击Project->Edit Setting->path-to-CmakeLists (配置名字) 来创建一个CMakeSettings.json文件。 CMakeSettings.json 示例 1…

0

  {   “configurations”: [    {     “name”: “my-config”,     “generator”: “Visual Studio 15 2017”,     “buildRoot”: “${env.LOCALAPPDATA}\\CMakeBuild\\${workspaceHash}\\build\\${name}”,     “cmakeCommandArgs”: “”,     “variables”: [      {       “name”: “VARIABLE”,       “value”: “value”      }     ]   }  ] }        

0

Vcpkg更新:静态链接

[原文发表地址] 静态链接正式启用 [原文发表时间] 11/6/2016 在一个月之前, 我们宣布了Vcpkg正式启用, 这是一个命令行工具,可以很简单地获取和构建开源代码C++ lib 并且已经在Visual studio 2015 中投入了使用,只是在这个最初发布的版本中仅仅只支持动态链接库,基于我们收到的反馈,我们很高兴来公布Vcpkg 开始支持静态链接。 为了生成静态链接库, 使用x86-windows-static 或者x64-windows-static 中的其中一个参数 例如: 为x86 用户来构建静态zlib vcpkg install zlib:x86-windows-static The library will be installed in the following folder:  vcpkg\installed\x86-windows-static   使用静态链接库 更新于11/4: 为了阐明/MT 的使用方法,我们专门就如何覆盖这个两个自动识别参数提供了详细的向导说明 我们当下部署了一系列内置参数,它们将会根据静态CRT 构建静态库(Visual Studio中的/MT):x86-windows-static, x64-windows-static等等 在Visual Studio中 ,你可以使用MSBuild的”VcpkgTriplet”和“VcpkgEnabled属性来自动覆盖这些自动识别出来的参数(这将会默认生成DLL)”。对于更大的解决方案,属性页中有更好的方法来管理这些设置。 例如:     <PropertyGroup Label=”Globals”>         ….         <VcpkgTriplet>x86-windows-static</VcpkgTriplet>         <VcpkgEnabled>true</VcpkgEnabled>…

0