2009-05-15 9 views
0

gcc 3.3.3でプリコンパイルされたヘッダがサポートされていますか?gcc 3.3.3でプリコンパイルされたヘッダーがサポートされていますか?

はいの場合、gcc 3.3.3でLinux上でプリコンパイル済みヘッダーを生成して使用する構文は何ですか? 私たちのプロジェクトをWindowsとLinux上でクロスコンパイルします.Windowsではstdafx.hをプリコンパイルして、Linux上であらかじめコンパイルされるようにセットアップする方法を調べています。

私はthe gcc docを認識しています。私は実際の解決策を探しています。それが生成されたファイルの名前であるもの働いていた場合、

> gcc stdafx.h 
gcc: compilation of header file requested 

そして最後に:GCC 3.3.3で

は、私はこれを取得しますか?

EDIT:プリコンパイルされたヘッダーはgcc 3.3.3でサポートされていないようですが、新しいgccでは生成されたファイルの拡張子は.gchになります。

答えて

1

gccがサポートしているバージョンはわかりませんが、使用方法はgcc documentationです。

とにかく、gcc 3.3.3もかなり古いです。最近の4.Xバージョンにアップグレードできる可能性はありますか?それは再コンパイルされたヘッダーをサポートする必要があります。

おそらく、最新の3.X GCC(GCC 3.4.6)を試すことができます。私はABIブレークが3.Xから4.Xにあると仮定しているので、3.4は互換性があります。私はそれがチェックの価値があるかもしれないと思う。 http://gcc.gnu.org/gcc-3.4/changes.html

から

C /のObjective-C/C++
プリコンパイルヘッダがサポートされるようになりました。

+0

gcc 4.Xがありますが、サードパーティのライブラリのため古いビルドをサポートする必要があります。 – stefanB

+1

最新の3.X GCC(GCC 3.4.6)がまだサードパーティのlibsとABI互換である場合、GCC 3.4.6への移行が役立ちます。 – lothar

+0

このメモのように、プリコンパイルされたヘッダーはgcc 3.4からサポートされています。問題はないが、今はgcc 4.xでそれらを有効にする。 – stefanB

0

私はGCC 3.3がサポートしている場合は、完全にわからないんだけど、ヘッダをプリコンパイルすると、少なくともGCC 4.xのと、実際にオブジェクトを生成すると違いはありません:

gcc $CFLAGS header.h 

それは新しいプリコンパイル済みヘッダーを生成します.hファイルの横にあり、それが#includeのときに自動的に使用されます。

+0

ファイルをheader.h.pchまたはそのようなheader.oとして生成しますか? – stefanB

+0

on gcc 3.3.3エラーが発生しているので、プリコンパイルされたヘッダがサポートされていないと思われます。 – stefanB

0

gcc 3.3.3でサポートされているかどうかは分かりません。 出力ファイルは{filename.ext}です.gch

関連する問題