VSCode+CMake+Clang+GCC 環境構築チュートリアル (Win10 の場合)

VSCode+CMake+Clang+GCC 環境構築チュートリアル (Win10 の場合)

大学院入試に備えて、C/C++ を使って基本的なデータ構造とアルゴリズムを実装する予定です。アルゴリズムとデータ構造を実装したいだけなので、VisualStudio は使いたくありません。VSCode が良いと思うので、オンラインでいくつかのチュートリアルを見つけて、自分のニーズに合わせて開発環境を構成しました。

ソフトウェアをインストールする

CMake

CMake は、ビルド プロセスを記述するために CMakeLists.txt というファイルを使用するクロスプラットフォームの自動ビルド システムです。

公式サイトからダウンロードしてインストールするだけで簡単に使用できます。

インストールディレクトリ内の bin ファイルをシステム環境変数に追加することを忘れないでください。これはインストール中に確認できます。確認した場合は、自分で追加する必要はありません。

インストールが成功したかどうかを確認します。


ミンGW

MinGW は、Minimalist GNU For Windows の略です。これは、GNU 開発ツールを Win32 プラットフォームに移植した製品であり、Windows 上の GNU ツールのセットです。簡単に言えば、MinGW はコンパイル環境であり、Linux の GCC に相当します。

公式サイトのダウンロードリンク;

インストール後、インストール ディレクトリ内の bin フォルダーのパスを環境変数に追加します。

カラン

GCC に似たコンパイラで、その目的は GCC を廃止することです (インターネットで誰かがそう言っているのを見ました)。

ウィキペディア:

Clang(英語のclang[1]のように/ˈklæŋ/と発音される)は、C、C++、Objective-C、Objective-C++プログラミング言語用のコンパイラフロントエンドです。バックエンドには LLVM を使用しており、LLVM2.6 以降では新しいバージョンが同時にリリースされます。その目標は、GNU コンパイラ コレクション (GCC) の代替品を提供することであり、GNU コンパイラのコンパイル設定のほとんどと非公式の言語拡張をサポートします。作者は Chris Lattner 氏で、開発は Apple 社が後援し、ソースコードは BSD に似たイリノイ大学アーバナ・シャンペーン校のオープンソース ライセンスの下でライセンスされています。

VSCode で使用してスマートプロンプトを提供できます。

公式サイトをダウンロード

確実なインストールのために、インストール後に、インストール ディレクトリの下の bin フォルダーのパスを環境変数に追加します。


VSCodeプラグインをインストールする

図に示すように、図のプラグインをインストールします。

新しいフォルダを作成してコーディングを開始する

メイン

#include <iostream>

名前空間 std を使用します。

int main(int argc, char* argv[])
{
 整数a = 89;
 b = a++;
 char buf[10] ;
 cout << "a = " << a << endl;
 cout << "b = " << b << endl;
 cout << "こんにちは...";
 cin.get(); //画面の点滅を防ぐ return 0;
}

CMakeList.txt

cmake_minimum_required(バージョン 3.11)

プロジェクト(VSCode_Cpp_CMake)
# コードパス aux_source_directory(.DIR_TOOT_SRCS)
# デバッグモードを設定 (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g")
# 実行可能ファイルを生成する add_executable(VSCode_Cpp_CMake ${DIR_TOOT_SRCS})

c_cpp_properties.json を設定する

キーボードの押下: ctrl+shift+p


{
 「構成」: [
  {
   "名前": "CMake",
   "includePath": [
    "${ワークスペースフォルダー}/**"
   ]、
   「定義」: [
    "_デバッグ"、
    「ユニコード」、
    「_UNICODE」
   ]、
   "windowsSdkバージョン": "10.0.18362.0",
   "compilerPath": "C:/MinGW/bin/g++.exe", // 独自のインストールディレクトリに従って決定します "cStandard": "c11",
   "cppStandard": "c++17",
   "intelliSenseMode": "clang-x64", // 変更に注意してください。インテリジェントなプロンプトを提供します "configurationProvider": "vector-of-bool.cmake-tools"
  }
 ]、
 「バージョン」: 4
}

CMake を設定する

ショートカットキーを押す: ctrl+shift+p

以下の手順に従ってください。



ここで操作が完了したら、コンパイルして exe ファイルを生成できます。


デバッグファイルlaunch.jsonとtask.jsonを構成する

デバッグには gdb を使用します。

ショートカット: F5 -> C++ (GDB/LLDB) -> g++.exe build and debug actvive file

vscodeはデフォルトのlaunch.jsonとtask.jsonを自動的に生成します。

launch.json と task.json を編集し、コメントされた領域をすべて変更する必要があることに注意してください。

タスク.json

{
 「タスク」: [
  {
   "タイプ": "シェル",
   "label": "cmake build active file", // タスク名 "command": "cmake --build ${workspaceFolder}\\build --config Debug --target all -- -j 10", // CMake の指示 "args": [
   ], // コマンドパラメータ "options": {
    "cwd": "C:/MinGW/bin"
   }
  }
 ]、
 "バージョン": "2.0.0"
}

起動.json

{
 // IntelliSense を使用して、可能な属性について学習します。
 // マウスをホバーすると、既存の属性の説明が表示されます。
 // 詳細については、https://go.microsoft.com/fwlink/?linkid=830387 をご覧ください。
 "バージョン": "0.2.0",
 「構成」: [
  {
   "name": "(gdb) Launch", // デフォルト: g++.exe ビルドとデバッグのアクティブ ファイル
   "タイプ": "cppdbg",
   「リクエスト」: 「起動」、
   "program": "${workspaceFolder}\\build\\Demo.exe", // 実行可能ファイルが配置されているパス、Demo= は独自の項目に置き換えられます "args": [],
   "stopAtEntry": false,
   "cwd": "${ワークスペースフォルダー}",
   "環境": []、
   "externalConsole": true, // 独立したコンソールウィンドウを表示します "MIMode": "gdb",
   "miDebuggerPath": "C:\\MinGW\\bin\\gdb.exe",
   「セットアップコマンド」: [
    {
     "description": "gdb のプリティープリントを有効にする",
     "テキスト": "-enable-pretty-printing",
     "失敗を無視": true
    }
   ]、
   "preLaunchTask": "cmake build active file" // task.json で定義された cmake コンパイル タスクを実行します}
 ]
}

コンパイルとデバッグ

コンパイルショートカットキー: F7
デバッグショートカットキー: F5

要約する

上記は、エディターが紹介したwin10でのVSCode+CMake+Clang+GCC環境構築のチュートリアル図です。皆様のお役に立てれば幸いです。ご質問があれば、メッセージを残してください。エディターがすぐに返信します。

以下もご興味があるかもしれません:
  • TensorFlow + VScode 開発環境をゼロから構築する手順 (画像とテキスト)
  • Anaconda + vscode + pytorch環境構築プロセスの詳細な説明
  • VScodeエディタのvue環境の設定で発生する問題の解決策の詳細な説明
  • Pico を使用して Micropython ファームウェアをフラッシュし、VsCode 開発環境を構成する方法

<<:  データベースSQL文の最適化

>>:  ノードイベントループとメッセージキューの分析

推薦する

MySQLの半同期の詳細な説明

目次序文MySQL マスタースレーブレプリケーションMySQL でサポートされているレプリケーション...

Firefoxでリンクをクリックしたときに点線の枠線を削除する方法

今日、ブラウザの互換性の問題にいくつか遭遇しました。そのうちの 1 つは奇妙に感じました。Firef...

MySQLの整数データ型tinyintの詳細な説明

目次1.1Tinyint型の説明1.2 練習環境の説明1.3 未署名属性の追加1.3.1 SQLモー...

ページキャッシュを無効にするいくつかの方法を共有する

本日、開発中に、顧客からページをキャッシュしないように要求される方法に遭遇しました。調べたところ、ペ...

行の高さと垂直方向の配置に関する包括的な理解

前の単語line-height、font-size、vertical-align は、インライン要素...

Web デザインでフラッシュ オーバーレイ ポップアップ レイヤーの z-index プロパティを設定しても機能しない

デフォルトでは、Flash は常にページのトップレベルに表示されます。つまり、ページに DHTML ...

nginx サーバーでの 502 不正なゲートウェイ エラーの原因のトラブルシューティング

パブリックアカウントのファンデータを同期してバッチプッシュするときに、サーバーがエラー502を報告し...

JavaScriptの再帰の詳細

目次1. 再帰とは何ですか? 2. 再帰を使って数学の問題を解く1. 1 * 2 * 3 * 4 …...

MySQLリモート接続失敗の解決策

以前、MySQLがローカルでは接続できるのにリモートでは接続できないという問題に遭遇したことがありま...

JQueryはアニメーション効果の非表示と表示を実装します

この記事では、アニメーション効果の非表示と表示を実現するためのJQueryの具体的なコードを参考まで...

Linux でコマンドまたはプロセスの実行時間を調べる方法

Unix ライクなシステムでは、コマンドまたはプロセスの実行がいつ開始されたか、またプロセスがどのく...

アイデア展開Tomcatサービス実装プロセス図

まずプロジェクトの成果物を構成するスタートアップ項目の設定 Tomcatサービスを作成する開始したい...

MYSQLでリモートアクセス権限を有効にする方法

1. MySQLデータベースにログインするmysql -u ルート -pユーザーテーブルを表示する ...

Nodejs 組み込み暗号化モジュールを使用してピアツーピアの暗号化と復号化を実現する詳細な説明

暗号化と復号化は、通信のセキュリティを確保するための重要な手段です。すでに多くの暗号化アルゴリズムが...