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文の最適化

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

推薦する

レスポンシブWebデザイン学習(2) — 動画をレスポンシブにすることはできるのか?

前回のエピソードレビュー:昨日は、ページがさまざまなデバイス サイズにどのように対応するかについて説...

コンテンツウェブページの画像プレビューのデザイン

<br />以前、「コンテンツページ番号のプレビューナビゲーション」と「写真プレビューナ...

MYSQL ロック解除とロックテーブルの紹介

MySQL ロックの概要他のデータベースと比較すると、MySQL のロック メカニズムは比較的単純で...

MySQLストレージエンジンについて学びましょう

目次序文1. MySQL メインストレージエンジン: 2. さまざまなストレージエンジンがテーブルを...

DockerコンテナのIPアドレスを取得する方法の詳細な説明

1.コンテナに入った後 /etc/hosts を cat するコンテナ自体の IP アドレスと (-...

ElementUI ページネーション コンポーネントの使い方 Vue でのページネーション

ElementUIページングコンポーネントPagination in Vueの使用は参考になります。...

docker を使用してコード サーバーをデプロイする方法

画像をプルする # docker pull codercom/code-server # Docke...

Vueはコードのハイライトを実現するためにモナコを使用しています

Vue 言語と要素コンポーネントを使用して、コード コンテンツの入力を必要とし、ハイライト表示が可能...

Web Storage APIの使用に関する簡単な説明

目次1. ブラウザのローカルストレージ技術1.1、セッションストレージ1.2、ローカルストレージ2....

おすすめの無料英語手書きフォント20選

Jellyka Beesアンティーク手書き [ank]* ジェリーカ・カティカップケーキ LHF ジ...

Linuxコマンドとファイル検索の詳しい説明

1. ファイル名検索を実行するwhich ('実行可能ファイル' を検索) //PA...

CentOS 7 での Docker プロキシの設定 (Linux での Systemd サービスの環境変数設定)

Docker デーモンは、 HTTP_PROXY 、 HTTPS_PROXY 、およびNO_PRO...

JS を使用してデータ型を決定する 4 つの方法

目次序文1. 型2. インスタンス3. コンストラクター詳細: 4. 文字列要約する序文Javasc...

ブラウザ(IEシリーズ)を判別するための条件付きコメント

<!--[if IE 6]> IE6 のみが認識可能 <![endif]-->...

Reactでカスタムフックを作成する方法を教えます

1. カスタムフックとは何かロジックの再利用簡単に言えば、カスタム フックを使用すると、特定のコンポ...