恥は/dev/nullへ by 初心者

プログラミング素人がのろのろと学んだことをつづっています♪

g++で複数のファイルをコンパイルする例

MQLを書く一方で、時折C++学習をしているので、その備忘録です。

 

以下のファイルがあるとします。

counter.h   // クラス定義(変数、関数、コンストラクタ)
counter.cpp // メンバ関数やコンストラクタの実装
uho.cpp     // クラスを使用したコード

 

一括でコンパイルする場合

g++ counter.cpp uho.cpp -o hoge

// hoge という実行ファイルが作成される

 

分割してコンパイルする場合

// -c の役割 → コンパイルのみで実行ファイルを生成しない

g++ -c -o counter.o counter.cpp   // オブジェクトファイルを作成
g++ -c -o uho.o uho.cpp

// 以上の結果、counter.o と uho.o が出来上がる

g++ counter.o uho.o -o hoge       // hogeという実行ファイルを作成