2
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

VSCodeでC++のビルド環境構築メモ(Ubuntu)

Last updated at Posted at 2023-06-22

よく忘れるので自分用メモ。CMake大好きマン向け。

インストール

必要なパッケージインストール

sudo apt install gcc g++ make cmake

VSCodeインストール

上記からダウンロードしてdpkg等でインストールします。

sudo dpkg -i code_1.79.2-1686734195_amd64.deb

拡張機能インストール

画像の拡張機能をインストールします。

image.png

必須はC/C++、CMake、CMakeToolsのみ。以下は便利ツールです。

Todo Tree

ソースコードでコメントの先頭にTODOと書くと、コメントがハイライトされるようになります。また、アクティビティバー(左のファイル一覧とかデバッグとかから選択するやつ)のToDoリストが追加され相互参照できるようになります。あとでやらなきゃな~ということはとりあえず備忘録的にTODOコメント書いておくと便利。ちなみにC++以外も使えます。

image.png

VS Code Counter

プログラムのソースコードのライン数をカウントできます。こちらもC++以外も使えます。

Material Icon Theme

ただの好み。

ワークスペースを開く

直下にトップレベルのCMakeLists.txtが存在するようにワークスペースを開きます。

workspace/
├── CMakeLists.txt
├── include/
└── src/

CMakeLists.txtを書く

プログラムを書く前にCMakeLists.txtを書いておきます。IDEはデフォルトの状態ではBoostなど/usr/includeなどにない外部ライブラリのインクルードパスを認識しません。

image.png

この状態だと、IDEの予測機能などが使えないので不便ですが、CMakeLists.txttarget_include_directoriesにパスを記載しておくと上記のエラーが解消され、各種Lint機能が働くようになります。

target_include_directories(
    ${PROJECT_NAME} PRIVATE
    /home/vboxuser/develop/library/boost/include
    ./include
)

逆にエラーが出るということはCMakeLists.txtの設定がどこかおかしく、どうせビルドに失敗するのでその前に直しておきます。c_cpp_properties.jsonにインクルードパスを設定することでもIDEのLint機能は使えるようになりますが、代わりにCMakeLists.txtの誤りに気づけなくなるので、自分はこちらは作成していません。

プログラム実行時の引数と環境変数を設定する

ctrl+shift+pからコマンドパレットを開き、C++などと入力して「IntelliSense 構成を選択」→「g++を使用する」を選びます。

image.png

image.png

すると、ワークスペース内の.vscodeディレクトリにsettings.jsonが生成されます。

image.png

実行時の引数はcmake.debugConfig、環境変数はcmake.environmentに設定します。find_packageを使う場合は、cmake.configureArgsパッケージ名Config.cmakeのディレクトリを指定するといいです。

{
    ・・・(略)・・・
    "cmake.debugConfig": {
        "args": [
            "argv1",
            "argv2"
        ],
    },
    "cmake.environment": {
        "TEST": "HOGEHOGE"
    },
    "cmake.configureArgs": [
        "-DBoost_DIR=/Path/to/Boost/cmake/dir",
    ],
}

ビルドする

ステータスバー(一番下のバー)からBuildを押すと、buildディレクトリが作成され、ビルドが走ります。CMakeLists.txtを入れ子にしていたら、子要素も含めてビルドされます。

image.png

デバッグする

ブレークポイントを置くなどしてから、ビルド時と同じステータスバー(一番下のバー)から虫マークをクリックすることでデバッグが開始されます。

image.png

image.png

実行する

デバッグの隣の右向き三角形を押すと、実行されます。

image.png

2
5
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
2
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?