The C Runtime Library (CRT) is a set of dlls that provide access to common programming tasks such as string manipulations, the Windows Runtime Extensions and STL. This overview describes various aspects of the Xbox One CRT, including the available features, build options and the available APIs.
The surface area for the Xbox One CRT is aligned with the CRT provided for Microsoft Store apps. You’ll find this surface area to be smaller than that provided for Windows desktop applications or Xbox 360 titles.
The following list summarizes the differences between the CRT for Microsoft Store apps and the CRT for Xbox One apps.
See http://msdn.microsoft.com/en-us/library/hh674596.aspx for the list of CRT functions that are not supported for Microsoft Store apps or Xbox One.
Xbox One games must use the DLL version of the CRT. Static linking is not supported. Use either /MD or /MDd when specifying how to include the CRT.
Note Explicitly adding msvcrt(d).dll and vccorlib(d).dll (in that order) to the link command line of a D3D project results in an error during link that states that the symbol __crtWinrtInitType is defined multiple times. To avoid this error switch the order of msvcrt(d).dll and vccorlib(d).dll on the link command line. This error does not occur in projects created with the default template.
The Xbox One CRT is included in the operating system image that is packaged with your title. There is no need to take any special steps to include the CRT with your game.
The following sections summarize the features provided by the Xbox One CRT.
The Windows Runtime Extensions (also referred to as C++/CX) is fully supported on Xbox One. Use the /ZW compiler switch to enable this feature for your projects.
ATL and MFC are not supported in the Xbox One CRT.
STL is fully supported in the Xbox One CRT.
PPL is fully supported in the Xbox One CRT.
AMP and OpenMP are fully supported in the Xbox One CRT.