Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Expanding Visual Studio's Cross-Compiler Support for ARM

Expanding Visual Studio's Cross-Compiler Support for ARM

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