プログラムとかデジタル系趣味とか

ほとんどLinuxに触れることなくC/C++でLinux向けソフトウェアを動かす for Visual Studio

Visual Studioで気軽にLinux向けビルド、デバッグをする環境についてです。

はじめに

趣味でLinux環境でのソフトウェア…、別に完成品を作るつもりはなく、実験的な感じ。
そのために普段慣れてないLinux環境を使うのもちょっと。
色々方法は試したものも、面倒だった。
そもそも私は完全にVisual Studioに依存している。VS Codeすらちょっと面倒。
結果たどり着いた答えをご紹介。

準備

必要なのはWSL。私は一応WSL2にしてます。
以下をなぞると良いです。
docs.microsoft.com
手順3でつまずく場合はUEFIBIOSの設定を見直してください。

ディストリビューションUbuntuDebianが良いでしょう。
Microsoftが検証済みなのはそれらが多い?

ディストリビューションを入れたら起動し、初期設定を行います。
その後、GCCかClangを入れます。
一度もLinuxに触れたことない人はネット検索すればすぐでるでしょう。

Visual StudioC/C++Linux向けコンポーネントが入っていない場合はそれも入れましょう。
Visual Studio Installerで確認、追加できます。
変更のワークロードタブ内で、C++によるLinux開発にチェックが入っていることを確認。
なければチェックを付けて追加です。
f:id:misakichi-k:20210902224801p:plain:w400

プロジェクト作成

f:id:misakichi-k:20210902224940p:plain:w500
コンソールアプリケーションか、空のプロジェクトを選びます。
とりあえずコンソールアプリケーションを選びましょう。

Win32などと同じく、Hello Worldのコンソールアプリケーションが作成されます。
おめでとう!!

仕上げ

とは、いかず。
このままビルドすると、おそらくLinuxへの接続のダイアログが出ます。

f:id:misakichi-k:20210902225210p:plain:w500
Linuxへの接続

初期プロジェクト設定では、Linuxのビルドにリモートマシン(Linux実機、またはWSL等)を用いるためです。
(・・・Androidのtermux上に接続したらArm Linuxのビルド、デバッグもできるんだろうか。)

今回は手軽に行くため、これをヤメます。
プロジェクトプロパティを開いてください。
全般のところにプラットフォームツールセットの項目があります。
これを開くと──

f:id:misakichi-k:20210902225607p:plain:w300:left



ここでXXX for Windows Subsystem for Linuxを選びます。
XXXは準備で入れたものを。
両方入れたなら利用したい方を入れましょう。

これで終わりです。
ビルドして実行できます。

デバッグ

実行して、ひとつ困ることがあります。
出力がありません。
出力ウィンドウの「デバッグ」には何やらデバッガーを動かしてる様子はあります。
しかしアプリからのコンソール出力がないのです。

これ、メニューのデバッグにあるLinuxコンソールという別のウィンドウに出力されます。
私は、Win32のコンソールのときと使い勝手が変わらないように、このウィンドウをフローティングにしてます。


以上!