0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

皆さんこんにちは、紫夜千景です。

今回は、CMakeを使ったC言語の開発環境を構築していく記事になります。
かつての記事で紹介していた方法ではGCCを用いてC言語の環境を作ってきましたが、今回は 「CMake」 を用いてC言語の開発環境を作っていきます。
※かつての記事

また、今回もWSLを用いて環境を構築していくのでWSLのセットアップ、OSのインストールは行っていることを前提として進めていきますのでまだの方は上記の記事を参考にセットアップなどをしていただければと思います。

今回はUbuntuではなくDebianを使用していますが千景さんの趣味なだけの上、Ubuntuでも同じことができるので気にしないでください。

インストールの前に

なんかめんどくさい不具合が起きるのを防ぐために、

sudo apt-get update -y && sudo apt-get upgrade -y

を実行してとりあえずパッケージ類を最新にしておきます。
これが終わったら作業開始です。

CMakeのインストール

Debianを起動し、ターミナルに

sudo apt install cmake build-essential

を打ち込んで実行します。
とりあえずこれでCMakeと他に必要なパッケージを導入します。

スクリーンショット 2025-12-12 110726.png

千景さんの場合、他にもいろいろインストールするパッケージがあるのでストレージが437MBくらい食われました。ストレージを気にする方はご注意ください。

インストールが終わったら、

cmake --version

を実行してちゃんとインストールされたか確認!?します。
スクリーンショット 2025-12-12 111112.png

インストールできたのが確認できたら、CMakeに必要なファイルを作っていきます。
今回、CMakeのインストール方法をロボコン部の友人に聞いたのでファイル構造が他で解説されているものと若干違いますがご了承ください。

まず、rootディレクトリに build というフォルダを作り、その中に移動します。

mkdir build
cd build

さらにその中に、 includesrc フォルダを作ります。

mkdir include
mkdir src

スクリーンショット 2025-12-18 171832.png
buildディレクトリ内がこんな感じになってたら大丈夫だと思います。

これらのフォルダを作り終わったら、先ほど作った includesrc には移動せずにbuildディレクトリの一つ上(ホームディレクトリ)でファイルを作ります。

touch CMakeLists.txt

ホームディレクトリに CMakeLists.txtを作成し、そのファイルをnanoで開いて以下のコードを書き込みます。

nano CMakeLists.txt
CMakeLists.txt
cmake_minimum_required(VERSION 3.31.6)

project(name) *1

add_executable(a.out  *2 
    for_example.c  *3
)

target_include_directories(name PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include)

各文の意味を解説しておくと、
*1 ... プロジェクトの名前のやつ。適当に付けても不具合は起きないはず。

*2 ... これだと./a.outが実行コマンドになる。ここを変えると実行コマンドも変わる。

*3 ... ビルドするC言語のファイル名を入力する。複数ある場合は改行して入力。

こんなところだと思います。
例として千景さんのCMakeLists.txtを掲載しておきますので参考にしてください。

千景さんのCMakeLists.txt
cmake_minimum_required(VERSION 3.31.6)

project(gomamayo)  

add_executable(gomamayo
    src/demo.c
)

target_include_directories(gomamayo PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include)

友人からプログラムはsrcフォルダ内に置いておくと聞いたのでその通りにしてます。
srcフォルダ内にあるdemo.cの中身は

demo.c
#include <stdio.h>
int main(void){
    printf("Hello,World!\n");
    return 0;
}

このようになっています。

ホームディレクトリから見たファイル構造がこんな感じになっていれば準備完了です。
スクリーンショット 2025-12-18 180008.png

それでは実際にビルドしていきましょう。
ビルドは

cd build 

cmake ..

make

./a.out  #ここはCMakeLists.txt内のadd_executableに対応したやつ

千景さんの場合ここが

./gomamayo

になります。

これでビルドされたプログラムが実行されたら成功です。

スクリーンショット 2025-12-19 112622 - コピー.png

そういえばCMakeってC++のファイルもビルドできるんですね。便利

おまけ 必ず必要ではないけどあると便利なパッケージのインストール

ここで、CMakeの環境を整えるためにあると便利なパッケージをインストールします。
Tree というパッケージなのですが、これはターミナル上に今いるディレクトリより下のファイル階層を分かりやすく表示できるやつです。

sudo apt install tree

この記事でも何度か使いましたね。超便利です。
基本的にWSLはWindows側のエクスプローラーからファイルを確認することはできますが、いちいち確認するのがめんどくさい人やターミナルのみで完結させたい人にはおススメです。

おしまい!

0
1
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
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?