automake / libtool を使用するプロジェクトで gcc プリコンパイル済みヘッダーを使用することは可能ですか?
新しい make ルールを追加してプリコンパイル済みヘッダーを作成することは難しくありません。問題は、libtool によって導入されたコンパイル フラグも追加する必要があり、AFAIK ではヘッダー入力ファイルを処理できないことです。
どうやってそれができる?
automake / libtool を使用するプロジェクトで gcc プリコンパイル済みヘッダーを使用することは可能ですか?
新しい make ルールを追加してプリコンパイル済みヘッダーを作成することは難しくありません。問題は、libtool によって導入されたコンパイル フラグも追加する必要があり、AFAIK ではヘッダー入力ファイルを処理できないことです。
どうやってそれができる?
問題は、ソリューションがすべてのシステムで機能するとは限らないことです。libtoolは$(CXXCOMPILE)とは異なるコンパイラコマンドラインを使用するため、一部のシステムでlibtoolを使用すると、プリコンパイル済みヘッダーを使用できなくなります。
私はこれを回避する方法をまだ見つけていません。$(LTCXXCOMPILE)を使おうとしましたが、ヘッダーファイルの処理方法がわからないと文句を言います(と言っていますlibtool: compile: cannot determine name of library object from 'project.hxx'
)。もちろん、それがすべきことはproject.hxx.gch
出力ファイルとして使用することですが、libtoolスクリプトを変更する以外にそれを実行する方法がわかりません。それは、GNUビルドシステムを使用する目的を損なうことになります…</ p >>
はい-私の知る限り、automakeにはまだ組み込みのサポートがありません。
私はこれらの指示に従い、自分のプロジェクトの 1 つで動作するプリコンパイル済みヘッダーを取得し、ビルド時間を半分に短縮しました :-)