Makefileを用いたC++のHello Worldプログラムの実行
はじめに
MakefileはCのイメージが強いが、中身ではシェルでも実行できるコマンドを並べているに過ぎないのでC++もコンパイルできる。
まずは能書き垂れる前に、サンプルソースをさっさと動かします。
環境構築
Ubuntu18.04LTS
# install make package
sudo apt-get install make
準備するファイル
~/sample/
|-Makefile
|-main.cpp
|-hello.hpp
|-hello.cpp
# mkdir project dir under ~/
mkdir sample
cd sample
touch CMakeLists.txt main.cpp hello.hpp hello.cpp
hello: main.cpp hello.cpp hello.hpp
g++ -I . main.cpp hello.cpp hello.hpp -o hello
Cのときコンパイラはgccだったが、C++だとg++に変わる。
#include "hello.hpp"
int main() {
hello();
}
#ifndef HELLO_H
#define HELLO_H
void hello();
#endif
#include <iostream>
#include "hello.hpp"
void hello() {
std::cout << "Hello!" << std::endl;
}
コンパイル
コンパイルします。
$ make
g++ -I . main.cpp hello.cpp hello.hpp -o hello
実行後のフォルダ構成。
~$ tree sample/
sample
├── hello
├── hello.cpp
├── hello.hpp
├── main.cpp
└── Makefile
実行
実行結果です。
$ ./hello
Hello World !