問題タブ [precompiled-headers]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
682 参照

c++ - Makefile/二重コンパイル

最近、(他の人がプロジェクトを拡張した後) コンパイル時間が大幅に増加したことに気付きました。C++ プリコンパイル済みヘッダーを使用するように提案されました。「include」部分は別ファイル「precompiled.h」に移動

また、ヘッダー ファイル固有の makefile には次の内容が含まれます。

もちろん、メインの .cpp ファイルの最初の行は "include "precompiled.h"" です。ただし、メイン ファイル固有の make ファイルを実行した後、「precompiled.h」ファイルをコンパイルしたときに得たレポートと警告 (myFile1.cpp myFile1.cpp に関連する警告とレポート) が表示されます。コンパイルプロセスが繰り返されると思います。プリコンパイル済みヘッダーが .gch ファイルに関連付けられていることを読みましたが、これを生成できませんでした。これに関するヘルプは大歓迎です。ありがとう

メインの .cpp ファイルに固有の makefile の内容を含めると役立つと思います。おそらく、このファイルを変更することで、ロードが 1 回行われたことを「コンパイラに伝える」ことができます。

0 投票する
1 に答える
3079 参照

visual-studio - 「プリコンパイル済みヘッダー」、デフォルトの「チェック済み」MS VSをオフにするにはどうすればよいですか

新しいプロジェクトを作成すると、プリコンプ ヘッダーがデフォルトでオンになります。デフォルトでオフにするにはどうすればよいですか?

0 投票する
1 に答える
7256 参照

android - Android NDK プロジェクトでプリコンパイル済みヘッダーを使用するには?

Android 用に大きな C++ プロジェクトを移植しVisual Studioています。GCCファイル数が多いため、コンパイル時間は非常に遅くなります。プリコンパイル済みヘッダー ファイルをセットアップしたいのですが、GCC のドキュメントが分かりにくいと思います。

プリコンパイル済みstdafx.hヘッダーのベースとなるファイルがあり、すべての.cppソースに最初に含まれるファイルです。これを機能させるために何を追加する必要があるか知っている人はいますAndroid.mkか?

0 投票する
2 に答える
10866 参照

c++ - プリコンパイル済みヘッダーを効率的に使用するには(/ YcおよびYuオプションを使用)?

コンパイルにはVisualStudio2003(VC71)を使用しています。コンパイル時間を短縮するために、ビルドスクリプトを変更して、CPPファイルごとにプリコンパイル済みヘッダー(.pch)ファイルを生成するようにしました。

makefileで使用されるオプション:

これにより、ターゲットのコンパイル時間が30%短縮されました。しかし、各CPPファイルのコンパイルのために毎回pchファイルが生成されている場合でも、コンパイラ時間をどのように短縮できるかを誰かが理解するのを手伝ってくれるでしょうか。

また、それは正しいアプローチですか?YcとYuの組み合わせを使用する必要がありますか?pchファイルは少なくとも1回生成する必要があるため、/Yuオプションを使用できません。

0 投票する
2 に答える
20546 参照

c++ - ヘッダーまたはソース ファイルに stdafx.h を含めますか?

stdafx.h というヘッダー ファイルがあり、これはもちろんプリコンパイルされています。これらのファイルを .cpp ファイルに含める必要があることを読みましたが、これらのステートメントの一部は、それに付随するヘッダー ファイルで既に必要です。

stdafx をヘッダーまたは cpp に追加する必要がありますか? ヘッダーに入れるのが良いと思ったのですが、代わりにヘッダーに入れる義務があるようです。

例:

stdafx には freeglut が含まれています。
私のクラス ヘッダー ファイルには GLenum の属性があります。

クラスの .h に stdafx を含める必要がありますか?

0 投票する
5 に答える
6277 参照

c++ - 問題なくstdafx.hクロスプラットフォーム?

ここ数日間、learncpp.com tuts をフォローしていて、Code::Blocks の .cpp ファイルから "#include "stdafx.h" をコメントアウトするように言われています。

インクルード行を削除するには、それは必須ですか? 何百ものファイルがあり、Win7 の Visual Studio から Linux の Code::Blocks に変更したり、Mac を使用している他の人に渡したりするとどうなりますか?

0 投票する
1 に答える
417 参照

c++ - autotools でプリコンパイル済みヘッダーをチェックしますか?

gcc プリコンパイル済みヘッダーが autoconf でサポートされているかどうかを確認するにはどうすればよいですか? AC_CHECK_GCH のようなマクロはありますか? 私が取り組んでいるプロジェクトには多くのテンプレートとインクルードがあり、最も一般的に使用されるインクルードを使用して .h を作成し、手動でコンパイルしようとしました。それを他のautotoolsと統合するといいかもしれません。

0 投票する
2 に答える
1294 参照

c++ - 含むときのエラーiOS プリコンパイル済みヘッダー ファイル内

私は iOS アプリを開発しており、Boost ライブラリの共有ポインタを使用しています。私のアプリは少し分厚いので、それを傾けようとしています。この行を移動すると思います:

個々のファイルからプリコンパイル済みヘッダー ファイルまで、スペースを節約できます。

この行を pch ファイルに移動すると、大量のコンパイル時エラーが発生します。そのほとんどは次のとおりです。

情報で .pch ファイルを sourcecode.cpp.h ファイルに変更しましたが、それは役に立ちませんでした。

考え?

編集:私のバイナリにコンパイルされた shared_ptr の重複コピーが実際にあることを確認しました!

0 投票する
2 に答える
1674 参照

xcode - アーカイブビルドでのXcode4gccの失敗:プリコンパイル手順をスキップしますか?

Xcode 4でアーカイブすることはできましたが、突然(??)できません。ビルドは無効な.pchファイルで失敗します。エラーは以下に貼り付けられています(再試行から得られましたが、ビルドログから発生-Winvalid-pchしているように見えるのは、プリコンパイル済みヘッダーが実際にはプリコンパイルされていないことです-これはiOSアプリであり、CopyPNGステップからに直接進みます。 mコンパイルします。

誤って何かをひっくり返した可能性はありますか?.pbxprojファイルの差分には何も奇妙に思えません。

「プリコンパイルプレフィックスヘッダー」ビルド設定は、すべての構成で「はい」です。製品->クリーンは役に立ちません。派生データの下にキャッシュされたpchのものを削除しても、修正されません。本当に「プリコンパイル」ステップ全体が欠落しているようです。

別の事実:「プリコンパイル済みヘッダーの共有を増やす」設定を有効にすると、成功します。しかし、私はこのフラグが実際に何をするのかについてほとんど言及を見つけることができず、私はこれまでそれを使用したことがありません。そしておそらく合理的に、これが起こったときにプリコンパイルステップはまだ表示されません。

0 投票する
1 に答える
2489 参照

c++ - Mac10.6.3でgslを使用する

最近、GSLを使用したプロジェクトがあります。GSLパッケージをMac10.6.3にインストールした後。コードをコンパイルできません。

gsllibは/usr/ local / libにあり、headファイルは/ usr /local/にあります。

コードをコンパイルすると、次のエラーが発生します。makefileで「-m32」を指定しない場合でも同じエラーが発生します。「i386」を「x86_64」に変更するだけです。誰か助けてもらえますか?

ありがとうございました!

ちなみに、上記のようなgslを含める必要がありますか?実際、私はプログラミングにまったく慣れていません。

ビルドコード: