Makefileを用いたC++のHello Worldプログラムの実行

2023-12-09プログラミング

はじめに

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 !

2023-12-09プログラミング

Posted by tech-biz-creator