C++には,c++
コマンドでコンパイルする以外に,コンパイル方法について事前に定義したCMakeLists.txtに基づいてコンパイルを行うcmakeによるコンパイル方法があります.
目次
C++のインストール
C++が未インストールの場合,最初にC++をインストールします.C++はbrew経由でインストールします.
$ brew install gcc
C++のコンパイルと実行
<出力ファイルを指定せずコンパイル>
c++ main.cpp
./a.out
<出力ファイルを指定してコンパイル>
c++ -o main main.cpp
./main
構成
hello-world
├── CMakeLists.txt
└── main.cpp
ファイルの中身
cmake_minimum_required(VERSION 3.24)
project(hello_world)
set(CMAKE_CXX_STANDARD 17)
add_executable(hello_world main.cpp)
#include <iostream>
int main() {
std::cout << "Hello, World!" << std::endl;
return 0;
}
CMakeとMakeの実行
$ cmake .
$ make
cmake .
によって生成されるファイルとフォルダ
# cmake . によって生成
CMakeCache.txt
CMakeFiles
Makefile
cmake_install.cmake
# make によって生成
hello_world
中間ファイルの扱い
中間ファイルは削除する
再度 cmake .
make
する際に中間ファイルが悪さをしてエラーが出る場合がある。そのためcmake .
実行前にこれらのファイルを削除しておくのが望ましい。
中間ファイルをbuild配下に作成する方法
$ mkdir build
以下のようなディレクトリ構造になります。
.
├── CMakeLists.txt
├── main.cpp
└── build
$ cd build
$ cmake ../
$ make
make
実行後のディレクトリ構造は以下のようになります。
.
├── CMakeLists.txt
├── build
│ ├── CMakeCache.txt
│ ├── CMakeFiles
│ ├── Makefile
│ ├── cmake_install.cmake
│ └── hello_world
└── main.cpp