C++には,c++コマンドでコンパイルする以外に,コンパイル方法について事前に定義したCMakeLists.txtに基づいてコンパイルを行うcmakeによるコンパイル方法があります.
目次
C++のインストール
C++が未インストールの場合,最初にC++をインストールします.C++はbrew経由でインストールします.
$ brew install gccC++のコンパイルと実行
<出力ファイルを指定せずコンパイル>
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 .
$ makecmake .によって生成されるファイルとフォルダ
# 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 ../
$ makemake実行後のディレクトリ構造は以下のようになります。
.
├── CMakeLists.txt
├── build
│ ├── CMakeCache.txt
│ ├── CMakeFiles
│ ├── Makefile
│ ├── cmake_install.cmake
│ └── hello_world
└── main.cpp