MbedプログラムをVisual Studioでビルドする

前回に続き、MbedプログラムをVisual Studioでビルド(コンパイル)を試してみました。

blogs.msdn.microsoft.com

環境は以下のとおりです。

ビルド

試すといっても、Makefileを右クリックしてBuildするだけ...と思いきや、右クリックしてもBuild(やClean)が表示されていません。

f:id:matsujirushix:20180114183421p:plain

Visual Studioのバージョンを上げたり、15.6 Preview 2を入れたりしても、状況変わらず。

試行錯誤した結果、英語表示に切り替えるとBuild/Cleanがでてくることが分かりました。(お、おぅ...)

f:id:matsujirushix:20180114190613p:plain

本件、マイクロソフトへFeedbackしましたので、改善されるでしょう。

気分一新、Makefileを右クリックしてBuildを選ぶと、make.exeが起動しないエラーが。

'C:\mbed\Nucleo_blink_led_gcc_arm_nucleo_f401re\Nucleo_blink_led\Makefile' (Build)
Process 'make.exe' failed to start.
指定されたファイルが見つかりません。   at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
   at System.Diagnostics.Process.Start()
   at Microsoft.VisualStudio.VC.Workspace.MakefileTaskAction.<RunAsync>d__19.MoveNext()
Printing diag info:
ActionType = Build
filepath = C:\mbed\Nucleo_blink_led_gcc_arm_nucleo_f401re\Nucleo_blink_led\Makefile
pwd = C:\mbed\Nucleo_blink_led_gcc_arm_nucleo_f401re\Nucleo_blink_led
path = C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Linux\gcc_arm\arm-none-eabi\bin;C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Linux\gcc_arm\bin;C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Linux\GNU MCU Eclipse\Build Tools\2.9-20170629-1013\bin\bin
makename = make.exe
makepath = C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Linux\GNU MCU Eclipse\Build Tools\2.9-20170629-1013\bin
makearg = 
BuildConfiguration = gccarm

わたしのPCでは、C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional に Linux というフォルダーが無いので何かインストールが不足しているんじゃないかと、Visual Studio インストーラーを見たところ、それっぽい項目が増えている?ではありませんか!

f:id:matsujirushix:20180114200216p:plain

C++によるLinux開発 にある、Embedded開発とIoT開発 をチェックして、追加インストールすると、Buildが正常に実行されるようになりました。

f:id:matsujirushix:20180114200407p:plain

f:id:matsujirushix:20180114200447p:plain

gccは6.3.1でした。

C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Linux\gcc_arm\bin>arm-none-eabi-gcc --version
arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors 6-2017-q2-update) 6.3.1 20170620 (release) [ARM/embedded-6-branch revision 249437]