差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン両方とも次のリビジョン
programming:cpp:vscode [2018/07/17] ikatakosprogramming:cpp:vscode [2018/07/17] 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://gabekore.org/vscode-c-windows|[Visual Studio Code][Windows] C言語をビルド(コンパイル)&ステップ実行する | Gabekore Garage]]   * [[https://gabekore.org/vscode-c-windows|[Visual Studio Code][Windows] C言語をビルド(コンパイル)&ステップ実行する | Gabekore Garage]]
  
-マイナーなツールチェインを使うと、他のツールからそいつを用いる際に、設定をそいつにあわせて書き換える必要が生じかねない。とにかく情報の多いデファクトスタンダードを使おう。鮮度や信憑性は見極めなければならないとはいえ、どこをればいいかは見つかる。+マイナーなツールチェインを使うと、他のツールから用いる際に、設定をそいつにあわせて書き換える必要が生じかねない。初心者ならとにかく情報の多いデファクトスタンダードを使いたい情報さえあれば、鮮度や信憑性は見極めなければならないとはいえ、どこをいじればいいかは見つかる。
  
 ===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を実行する感じ。
行 114: 行 112:
   * [[https://sites.google.com/site/toriaezuzakki/msys2|2. MSYS2 - とりあえず雑記帳]]   * [[https://sites.google.com/site/toriaezuzakki/msys2|2. MSYS2 - とりあえず雑記帳]]
  
-パッケージ管理ツールは「pacman」。ドットを食べそうな名前だ。更新と、必要なツールの検索、インストールを行う+閑話休題、MSYSのコンソール上から必要なツールをインストールする。パッケージ管理ツールは「pacman」。ドットを食べそうな名前だ。
  
   $ pacman -Sy  (パッケージデータベースの更新)   $ pacman -Sy  (パッケージデータベースの更新)
行 136: 行 134:
 =====VisualStudioCode===== =====VisualStudioCode=====
  
-無料で、特に制約もきつくなく使える中では、それなり軽快で、それなり多機能で、バランスがよいようだ。+コードエディタ。無料で、特に制約もきつくなく使える中では、それなり軽快で、それなり多機能で、バランスがよいようだ。
  
 がっつりやるならVisualStudioなんだけど、本家は有償だし、無償のExpressはMicrosoftが開発継続に消極的だし拡張機能が制限される、Communityはライセンス上、商用では年商1億未満限定など制約がきつい。 がっつりやるならVisualStudioなんだけど、本家は有償だし、無償のExpressはMicrosoftが開発継続に消極的だし拡張機能が制限される、Communityはライセンス上、商用では年商1億未満限定など制約がきつい。
行 157: 行 155:
   * %%C++%% Intellisense   * %%C++%% Intellisense
  
-これらは(設定が悪かったのかも知れないが)1文字入力ごとに解析が走り、VSCodeがフリーズするほど重たくなった。+これらは一見関係ありそうに見えたが、(設定が悪かったのかも知れないが)1文字入力ごとに解析が走り、VSCodeがフリーズするほど重たくなったので除外
  
 ===User Settings=== ===User Settings===
programming/cpp/vscode.txt · 最終更新: 2018/09/25 by ikatakos
CC Attribution 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0