複数の .cpp および .h ファイルを含むプロジェクトがあります。すべての .cpp ファイルに含まれる Globals.h というファイルがあります。このファイルをコンパイルするとき、いくつかの -D オプションを使用します。これらのオプションは、Globals.h だけでなくすべてのファイルに影響します。
私のメイクファイルでは、すべてのファイルをコンパイルするときに同じ -D オプションを使用する必要がありました。もちろん、これらのオプションを削除すると、「未定義」のエラーが発生します。
つまり、これらのオプションの 1 つを変更するたびに、プロジェクト全体を再コンパイルする必要があります。これらのオプションを使用して Globals.h のみをコンパイルできる方法はありますか?
これは私のメイクファイルの一部です: Globals.o を作成する行:
Globals.o : $(GlobalsLib) $(GlobalsInc)
g++ -c -Wall $(CodeDefined) $(UserDefined) $(GlobalsLib) -std=c++0x -o Globals.o
$(GlobalsLib)
および$(GlobalsInc)
はファイルへのパスでGlobals.h
あり、Globals.cpp
$(CodeDefined)
および$(UserDefined)
は -U および -D オプションです。このコードは、別の .o ファイルを作成するためのものです。
NT_FFT_Decomp.o : $(GlobalsLib) $(GlobalsInc) $(NT_DecompLib) $(NT_DecompInc)
g++ -c -Wall $(CodeDefined) $(UserDefined) $(NT_DecompLib) -std=c++0x -o NT_FFT_Decomp.o
(NT_DecompLib) $(NT_DecompInc)
ファイルへのパスでもあります。g++ コマンドに同じオプションを追加する必要があることに注意してください。そのあたりはあるのでしょうか?