Expanding Visual Studio's Cross-Compiler Support for ARM

| by Jeff Martin Follow 8 Followers on Oct 31, 2017. Estimated reading time: 1 minute |

A note to our readers: You asked so we have developed a set of features that allow you to reduce the noise: you can get email and web notifications for topics you are interested in. Learn more about our new features.

Visual Studio has long possessed the ability to target the ARM-platform, as long as the platform is running Windows.  In Visual Studio 2017 15.5 Preview 2, the IDE is expanding this support by adding the capability to target ARM based computers and Internet-of-Things (IoT) devices through the use of the GCC compiler.

The advantage of this approach is that it allows developers to write code with the benefit of using the VS2017 IDE and then produce binaries with the standard GCC ARM compiler.  Microsoft's Marc Goodner explains that this new capability utilizes Visual Studio's Open | Folder feature and does not require the ARM project to have a formal Visual Studio solution file.  Instead, once the project's folder has been opened, its settings can be edited to indicate that the GCC compiler for ARM should be used. This is still a preview feature, and some manual editing is required to enable this support.  To try out the new functionality, first install the latest preview of VS2017, install the Linux Development with C++ workload and include the Embedded and IoT Development package.

At present this means that editing the CppProperties.json file is necessary. This is done through the Project | Edit Settings menu item. Once open, the file's contents needed to be edited to indicate that the GCC compiler targeting ARM should be used. Thanks to this change, VS2017 will then recognize the type of C++ project that is open and establish IntelliSense accordingly.

Looking a bit into what this functionality adds, this latest preview of VS2017 installs a June 2017 build of GCC (GNU Tools for ARM Embedded Processors) in the following path:

C:\Program Files (x86)\Microsoft Visual Studio\Preview\Enterprise\Linux\gcc_arm\bin

From there you will also notice some additional command line programs such as GDB and G++ (GNU's C++ compiler). While this feature is currently in the preview state for good reason, the work-to-date shows that the team is making good progress to expand VS2017's capabilities for IoT developers.


Rate this Article

Adoption Stage

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread
Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread


Login to InfoQ to interact with what matters most to you.

Recover your password...


Follow your favorite topics and editors

Quick overview of most important highlights in the industry and on the site.


More signal, less noise

Build your own feed by choosing topics you want to read about and editors you want to hear from.


Stay up-to-date

Set up your notifications and don't miss out on content that matters to you