29
16

More than 1 year has passed since last update.

【2020年版】WindowsのC++ビルド環境をclang+VS Build Tools 2019で作る

Last updated at Posted at 2020-03-02

fukuoka.exのpiacereです
ご覧いただいて、ありがとうございます :bow:

Windowsは、macやLinuxのように、C++ビルドツールが標準では入っていないため、C++で書かれたツール(たとえばElixirだと、マルチコア/GPUドライバ「Pelemay」や高速行列ライブラリ「Matrex」、暗号化ライブラリ「Bcrypt」が該当)のビルドができません

そこで、「clang」と「Visual Studio Build Tools 2019」をインストールして、C++ビルド可能にする手順を解説します

内容が、面白かったり、気に入ったら、「いいね」よろしくお願いします :wink:

本コラムの検証環境

本コラムは、以下環境で検証しています

  • Windows 10

「Visual Studio Build Tools 2019」のダウンロード

「Visual Studio Build Tools 2019」は、以下ページ下部にある、「Visual Studio 2019およびその他の製品」の右側、「ダウンロード」ボタンをクリックします
https://visualstudio.microsoft.com/ja/vs/older-downloads/#visual-studio-2019-and-other-products
image.png

Microsoftアカウントでのログインを行うと、「Build Tools for Visual Studio 2019 (version 16.9)」を探し、「Download」ボタンをクリックするとダウンロードが開始します
image.png

「Visual Studio Build Tools 2019」のインストール

ダウンロードが終わり、「vs_BuildTools.exe」というファイルが入手できたら、実行すると、以下画面が出るので、「C++ Build Tools」を選択して、「インストール」ボタンをクリックします
image.png

インストールが開始されます(完了まで、けっこう時間がかかると思います)
image.png

nmake等のVisual Studioツールを使えるようにする

「x64 Native Tools Command Prompt for VS 2019」を起動し、ビルド対象のフォルダまでcdコマンドで移動します
image.png

nmakeの起動確認

新たにコマンドプロンプトを起動し、以下コマンドを入力してください

nmake /v

以下のような情報が表示されれば、インストールおよびパス設定は成功です

Microsoft(R) Program Maintenance Utility Version 14.28.29337.0
Copyright (C) Microsoft Corporation.  All rights reserved.

使い方:    NMAKE @コマンドファイル
        NMAKE [options] [/f makefile] [/x stderrfile] [macrodefs] [targets]

オプション:

/A 評価対象をすべてビルドします
/B タイム スタンプが等しい場合でもビルドします
/C メッセージを出力しません
/D ビルド情報を表示します
/E 環境変数をメイクファイルのマクロ定義より優先します
/ERRORREPORT:{NONE|PROMPT|QUEUE|SEND} エラーを Microsoft に報告します
/G !include ファイル名を表示します
/HELP 使い方に関する概要を表示します
/I コマンドからの終了コードを無視します
/K エラーが返されても、関連のない依存関係行をビルドします
/N コマンドの表示だけ行い、実行はしません
/NOLOGO 著作権メッセージが表示されないようにします
/P NMAKE の情報を表示します
/Q タイム スタンプはチェックしますがビルドは実行しません
/R 前に定義された推論規則とマクロを無視します
/S 実行されるコマンドを表示しません
/T タイム スタンプを変更しますがビルドを実行しません
/U インライン ファイルをダンプします
/Y バッチモードを無効にします
/? 使い方に関する概要を表示します

「clang」のダウンロード

「clang」は、以下ページ下部にある、「Pre-Built Binaries」内の「Windows (64-bit)」をクリックして、ダウンロードします

http://releases.llvm.org/download.html
image.png

「clang」のインストール

ダウンロードが終わり、「LLVM-x.x.x-win64.exe」というファイルが入手できたら、実行すると、以下画面が出るので、「次へ」で進めていけばインストールできます
image.png

なお、「Visual Studio Build Tools 2019」をインストールしないと…

Visual Studio Build Tools 2019をインストールせず、clangを動かすと、C/C++標準インクルードファイル(stdio.hやiostream.hなど)が存在しないため、ビルドが失敗するので、必ずVisual Studio Build Tools 2019をインストールしてください

終わり

今回、C++で書かれたツールをWindowsでビルドするために、「clang」と「Visual Studio Build Tools 2019」をインストールする手順を解説しました

Windowsは、macやLinuxと異なり、C++ビルドツールが標準では入っていないため、C++のビルドで躓きやすいのですが、今回の手順を見てお分かりの通り、わりかし簡単な手順です(ダウンロード元を見つけることが、最も難しいのかも…)ので、めげずに頑張ってみてください

ただし、時間的に厳しい方は、サクッとmac/Linuxに逃げる器用さは、頭の片隅に置いといてください

p.s.「いいね」よろしくお願いします

ページ左上の image.pngimage.png のクリックを、どうぞよろしくお願いします:bow:
ここの数字が増えると、書き手としては「ウケている」という感覚が得られ、連載を更に進化させていくモチベーションになりますので、もっとElixirネタを見たいというあなた、私達と一緒に盛り上げてください!:tada:

29
16
2

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
29
16