C++ Tools Acquisition for Windows Phone and Store Development

Through this blog post we wanted to inform you that C++ apps in Visual Studio 2015 Preview will be able to target Windows 8.1 Store and Phone development along with Windows 8.0 Phone development.  Everything mentioned below is relevant only for Windows Store and Windows Phone apps. To provide this experience for the users VS 2015 pulls in the latest versions of VS 2013 and VS 2012 C++ compiler tools, headers, libs, project settings and other tools to help target Windows 8.1 Store/Phone or Windows 8.0 Phone respectively.

Installation

In Visual Studio 2015 Preview you will be able to target Windows 8.1 Phone and Store along with Windows 8.0 Phone development. To be able to do this using C++, please select the three components highlighted below in in Figure 1: Install Screen. Once you are done with the set up you will not only be able to create new projects but also open existing ones.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Caveats

Scenarios that are still being worked on and hence will not be functional in Visual Studio 2015 Preview are:

C++ store and phone unit testing

Issue

Building new C++ Store, C++ Phone 8.1 Unit Test project on VS 2015 fails with cannot find header file cppunittest.h

IntelliSense for Windows Phone 8.0 projects

Issue

For all Windows Phone 8.0 projects IntelliSense is not available.

Ability to use ATL as part of the Windows 8.0 Store and Windows 8.1 Store and Phone projects

Issue

  • When you try to build a project that uses ATL you will run into the following build issue

    error C1083: Cannot open include file: ‘atlbase.h’: No such file or directory

 

Ability to upgrade a Windows 8.0 Store project to Windows 8.1 Store project

Issue

  • When you try to build a project that is retargeted from Windows 8.0 Phone to Windows 8.1 Phone you will run into the following build issue

    fatal error C1083: Cannot open include file: ‘SDKDDKVer.h’: No such file or directory

Work around

  • Open project properties and change platform toolset to v120 as in Figure 2: Project Properties.

 

Figure 2: Project Properties

  • Right click on the project, select Unload Project.
  • Right click on project and select Edit.
  • Notice that <AppContainerApplication>true</AppContainerApplication> is not in <PropertyGroup Label=Globals>.
  • Add <AppContainerApplication>true</AppContainerApplication> to <PropertyGroup Label=Globals> and remove all other instances of<AppContainerApplication>true</AppContainerApplication>.
  • This will change the Windows Store App Support to Yes.
  • Save, and reload the project

FAQ

What happens if I already have VS 2013?

If you already have VS 2013 installed, VS 2015 will not install any VS 2013 and VS 2012 packages that are included for Windows 8.1 Store/Phone or Windows 8.0 Phone development. It is recommended that a minimum of VS 2013 Update 2 is installed on your computer to be able to develop for Windows 8.1 Phone/Store or Windows 8.0 Phone in VS 2015 preview. Once VS 2013 has been patched with Update 2 or later, Windows 8.1 Store/Phone or Windows 8.0 Phone development can be done through VS 2013 or VS 2015 Preview.

Also uninstall of VS 2015 should leave any older versions of Visual Studio that are installed on the computer intact.

Can I install VS 2013 after VS 2015 preview?

If you were to install older versions of Visual Studio on a computer with VS 2015 Preview, we recommend you install the latest update of that major release version.

What if I installed without this option and now want to do Windows 8.1/8.0 Store/Phone development?

If you have installed VS 2015 Preview without the options in Figure 1: Install Screen selected, you will still be able to create new projects or open existing projects and can edit them. However you will not be able to build them. Building will result in Figure 3: Build Errors.

Figure 3: Build Errors

When you run into these errors you can re-launch the set up through Programs and Features and select the above mentioned three options.

Do I need the emulators for phone installed?

If you are planning on doing Windows 8.1 Store only development you will not need to select the Windows Phone 8.1 Emulators option.

Will I be able to get new C++ features?

All the new C++ compiler and linker features will not be available in this release for Windows 8.1 Phone, Store and Windows 8.0 Phone development. As mentioned above, we will be pulling in the older versions of compilers, headers, libs and tools etc., to be able to target Windows 8.1 Store and Phone development and Windows 8.0 Phone development. However the new C++ compiler and linker features are available for desktop development for all supported platforms.

Summary

Just like in Visual Studio 2013 when we provided the ability to target Windows 8.0 phone and store development, this work is enabling the same through Visual Studio 2015 however for Windows 8.1 phone and store along with Windows 8.0 phone. Thank you for reading through this blog post and please let us know your feedback and bugs that you find while using this scenario.  Feel free to post your comments on this post or write an email directly to me at vsanni@microsoft.com