差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン最新のリビジョン両方とも次のリビジョン | ||
programming:cpp:vscode [2018/07/17] – ikatakos | programming:cpp:vscode [2018/07/17] – [VisualStudioCode] ikatakos | ||
---|---|---|---|
行 1: | 行 1: | ||
======VisualStudioCode と MSYS2(mingw64) での環境構築====== | ======VisualStudioCode と MSYS2(mingw64) での環境構築====== | ||
- | 以下は、一応自分ができた時用のメモとして残すが、参考にしてはいけない。 | + | 以下は、一応自分が試行錯誤した時用のメモとして残すが、あまり参考にしてはいけない。 |
- | ※まだ編集途中 | + | =====Windows上でのC++(単なる愚痴)===== |
- | + | ||
- | =====Windows上でのC++の難しさ(単なる愚痴)===== | + | |
%%C++%%は個人的には使う機会が少ないが、いざという時に使えるようにはしておきたい。 | %%C++%%は個人的には使う機会が少ないが、いざという時に使えるようにはしておきたい。 | ||
- | しかし、Windowsでの%%C++%%環境構築は大変。世の%%C++%%使いはこんなこと平気でやってるのかと畏敬の念を抱かずにいられない。 | + | しかし、Windowsでの%%C++%%環境構築はなかなか一筋縄ではいかない。 |
ネット上に情報は一見豊富にあるように見えて、取捨選択に理解と経験が要るという感想。 | ネット上に情報は一見豊富にあるように見えて、取捨選択に理解と経験が要るという感想。 | ||
* 新旧の情報の混在 | * 新旧の情報の混在 | ||
- | * IDE、互換レイヤー、コンパイラ、ビルドシステムの理解と、選択肢の多さと、更新の速さ | + | * IDE、互換レイヤー、コンパイラ、ビルドシステムなど関連ツールの理解と、選択肢の多さと、更新の速さ |
があるので、以下のようにハマりがちになる。 | があるので、以下のようにハマりがちになる。 | ||
行 21: | 行 19: | ||
* Hello World はとりあえず動く | * Hello World はとりあえず動く | ||
* →ライブラリなど、追加的な機能についての記事を探す | * →ライブラリなど、追加的な機能についての記事を探す | ||
- | * →最初の記事とツールが違っていたり、自環境とバージョンが合ってなかったり | + | * →最初の記事とツールが違っていたり、自環境とバージョンが合ってなかったりする |
* →気付かず参考にすると簡単にエラーになる | * →気付かず参考にすると簡単にエラーになる | ||
- | ということで、自分の環境に適応できる記事というのは、案外少ない。少ないだけならいいのだが、" | + | ということで、自分の環境に適応できる記事というのは、案外少ない。少ないだけならいいのだが、" |
行 43: | 行 41: | ||
* [[https:// | * [[https:// | ||
- | マイナーなツールチェインを使うと、他のツールからそいつを用いる際に、設定をそいつにあわせて書き換える必要が生じかねない。とにかく情報の多いデファクトスタンダードを使おう。鮮度や信憑性は見極めなければならないとはいえ、どこを見ればいいかは見つかる。 | + | マイナーなツールチェインを使うと、他のツールから用いる際に、設定をそいつにあわせて書き換える必要が生じかねない。初心者ならとにかく情報の多いデファクトスタンダードを使いたい。情報さえあれば、鮮度や信憑性は見極めなければならないとはいえ、どこをいじればいいかは見つかる。 |
===Microsoft C/C++ Compiler=== | ===Microsoft C/C++ Compiler=== | ||
行 57: | 行 55: | ||
Linuxでは最初から入っている、オープンソースのツールチェイン。 | Linuxでは最初から入っている、オープンソースのツールチェイン。 | ||
- | Windowsでは、MingwなどLinuxコマンドを導入するツールを通してインストールする。 | + | Windowsでは、MingwなどGNU環境を導入するツールを通してインストールする。 |
===LLVM Clang=== | ===LLVM Clang=== | ||
行 65: | 行 63: | ||
新進気鋭のツールチェイン。様々な言語ソースを統一的に扱うことを目標とするらしい。オープンソース。 | 新進気鋭のツールチェイン。様々な言語ソースを統一的に扱うことを目標とするらしい。オープンソース。 | ||
- | Windowsでは、MingwなどLinuxコマンドを導入するツールを通してインストールする。 | + | Windowsでは、MingwなどGNU環境を導入するツールを通してインストールする。 |
=====ビルドツールの選択===== | =====ビルドツールの選択===== | ||
行 93: | 行 91: | ||
=====互換レイヤーの選択===== | =====互換レイヤーの選択===== | ||
- | gccやclangを使う場合、Windows上に直接インストールすると言うよりは、Linuxのコマンドを再現する環境(互換レイヤー)を作り、それを通してインストールする。互換レイヤーの実現手段として、主に、CygwinとMSYS2の2つがある。 | + | gccやclangを使う場合、Windows上に直接インストールすると言うよりは、Linuxのコマンドを再現する環境(GNU環境、互換レイヤー)を作り、それを通してインストールする。互換レイヤーの実現手段として、主に、CygwinとMSYS2の2つがある。 |
仮想マシンとはまた違い、あくまで各コマンドに対応したWindows用の.exeを実行する感じ。 | 仮想マシンとはまた違い、あくまで各コマンドに対応したWindows用の.exeを実行する感じ。 | ||
行 110: | 行 108: | ||
MSYS2のインストールはインストーラから行う。完了したらスタートメニューの「すべてのプログラム」に「MSYS2 64bit」というのができるので、その中の「MSYS2 MSYS」から、ターミナルを起動する。特に環境変数のパス設定をしない場合、Linuxコマンドはこのターミナル上で有効になる。 | MSYS2のインストールはインストーラから行う。完了したらスタートメニューの「すべてのプログラム」に「MSYS2 64bit」というのができるので、その中の「MSYS2 MSYS」から、ターミナルを起動する。特に環境変数のパス設定をしない場合、Linuxコマンドはこのターミナル上で有効になる。 | ||
- | スタートメニュー上には同時に「MSYS2 MinGW 32-bit」「MSYS2 MinGW 64-bit」なんてのも用意されている。MinGWは、Windows上に[[wpjp> | + | スタートメニュー上には同時に「MSYS2 MinGW 32-bit」「MSYS2 MinGW 64-bit」なんてのも用意されている。MinGWは、Windows上に[[wpjp> |
* [[https:// | * [[https:// | ||
- | パッケージ管理ツールは「pacman」。ドットを食べそうな名前だ。更新と、必要なツールの検索、インストールを行う。 | + | 閑話休題、MSYSのコンソール上から必要なツールをインストールする。パッケージ管理ツールは「pacman」。ドットを食べそうな名前だ。 |
$ pacman -Sy (パッケージデータベースの更新) | $ pacman -Sy (パッケージデータベースの更新) | ||
行 134: | 行 132: | ||
(同様に、cmake, | (同様に、cmake, | ||
- | =====VisualStudioCode===== | + | =====IDE・エディタの選択===== |
+ | ====VisualStudioCode==== | ||
- | 無料で、特に制約もきつくなく使える中では、それなり軽快で、それなり多機能で、バランスがよいようだ。 | + | コードエディタ。無料で、特に制約もきつくなく使える中では、それなり軽快で、それなり多機能で、バランスがよいようだ。 |
がっつりやるならVisualStudioなんだけど、本家は有償だし、無償のExpressはMicrosoftが開発継続に消極的だし拡張機能が制限される、Communityはライセンス上、商用では年商1億未満限定など制約がきつい。 | がっつりやるならVisualStudioなんだけど、本家は有償だし、無償のExpressはMicrosoftが開発継続に消極的だし拡張機能が制限される、Communityはライセンス上、商用では年商1億未満限定など制約がきつい。 | ||
行 142: | 行 141: | ||
有償ならJetBrainsのCLionが良いと思う。 | 有償ならJetBrainsのCLionが良いと思う。 | ||
+ | 以下では、記事のタイトルにもあるとおり、VisualStudioCodeでの設定方法を記述する。 | ||
====インストール後の設定==== | ====インストール後の設定==== | ||
行 157: | 行 157: | ||
* %%C++%% Intellisense | * %%C++%% Intellisense | ||
- | これらは(設定が悪かったのかも知れないが)1文字入力ごとに解析が走り、VSCodeがフリーズするほど重たくなった。 | + | これらは一見関係ありそうに見えたが、(設定が悪かったのかも知れないが)1文字入力ごとに解析が走り、VSCodeがフリーズするほど重たくなったので除外。 |
===User Settings=== | ===User Settings=== |