LoginSignup
9
11

More than 5 years have passed since last update.

Visual Studio CodeでC/C++実行環境を整える

Last updated at Posted at 2018-08-03

Windows10にいれたVisual Studio Code上でC/C++をビルド、実行できるようにしたメモです。

Visual Studio Codeはインストール済みとする。

MSYS2/MinGWをインストール

1.MSYS2をインストール

gcc環境としてMSYS2(MinGW-w64)を使用する。
公式からインストーラーをダウンロードし、インストールする。
http://www.msys2.org/
msys2-x86_64-yyyymmdd.exeをダウンロード、すべてデフォルトのままインストールする。

2.MinGWをインストール

インストール後、MSYS2のshellが立ち上がるので、アップデートと追加モジュールのインストールを行う。

pacman -Syuu

実行すると以下のワーニングが出て途中で止まってしまった。

警告: terminate MSYS2 without returning to shell and check for updates again
警告: for example close your terminal window instead of calling exit

再実行するように言われているので、いったん閉じて(ワーニング出るが無視)、
スタートメニューのMSYS2 64bitのMSYS2 MinGW 64-bitをクリックしてshellを起動。

pacman -Syuu

追加モジュールを入れる。上の2つだけ入れればいいもよう。makeは不要かもしれないが何となく入れた。

pacman -S base-devel
pacman -S mingw-w64-x86_64-toolchain
pacman -S mingw-w64-x86_64-make

3.PATHの設定

環境変数のPATHに以下の2つを追加する。

C:\msys64\mingw64\bin
C:\msys64\usr\bin

エクスプローラでコンピュータを右クリックしてプロパティからシステムの詳細設定を開き、詳細設定タブで環境変数を表示する。

4.設定の変更

32bit版は使用しないため、除外する。
C:\msys64\etcにあるpacman.confをテキストエディタで開き、以下の行をコメントアウトする。

[mingw32]
#Include = /etc/pacman.d/mirrorlist.mingw32

5.動作確認

適当なフォルダに動作確認用のコードを作成する。

hello.c
#include <stdio.h>

void main(void){
    printf("hello, world\n");
}

コマンドプロンプトを起動し、実行してみる。
クリップボード.jpg
実行できたのでGCC環境とPATH設定は完了。

ちなみに、普通はCドライブだと思いますが、私は作業場所をDドライブにしています。
コマンドプロンプトでD:とだけ入力するとDドライブに移動可能です。("cd D:\" では移動できない)

Visual Studio Codeの拡張設定

Visual Studio Codeの拡張機能を開き、C/C++と入力、一番上に出てくるMicrosoftの拡張機能をインストールする。
キャプチャ.JPG
これで、コード補完が可能になる。

PATHがつながっているので、Visual Studio Code側の設定は特に不要です。
コンソールから同じように実行可能。PowerShellを使用している場合は、hello.exeとしても実行できず、
./hello.exe とする必要があります。(よく読むと一番下に書いてあったけど、だいぶ嵌りました^^;)
キャプチャ.JPG

以上!

頑張ればステップ実行もできるようですが・・・そのうち調べようと思います。
まぁ無償版のVisual Studio使えばいいんじゃない?:sweat_smile:

2018/08/08 追記
MinGW-w64をWindowsで使う場合にはセキュリティに対する脆弱性があるとのこと。
以下を参考にしたほうがよさそうです。
mingw-w64 が生成する実行ファイルにおいて ASLR が機能しない問題

参考

9
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
11