0

それぞれが含む多くのディレクトリとディレクトリ名のファイルで構成されるライブラリがlibX.cppあります。1 つは別のプロジェクトで使用される可能性があります。問題は、各プロジェクトのコンパイル中に include in を要求することです。現在のプロジェクト用に生成されたファイルを含める必要があると思います(間違っている場合は修正してください)。わかりました、たとえばファイルに書き込んでいます。しかし、別のプロジェクトで同じ libA.cpp を使用しているため、行を変更する必要がありますlibX.hXlibXstdafx.hlibX.cppstdafx.h#include "some_absolute_path1\stdafx.h"libA.cpp

#include "some_absolute_path1\stdafx.h"

#include "some_absolute_path2\stdafx.h"

プロジェクトを切り替えながら stdafx.h パスを変更するのはあまり快適ではありません。

その場合、どのように対処するのが最善でしょうか?

4

2 に答える 2

0

ライブラリがそのファイルで定義されているリソースの一部を使用してインクルードする場合は、インクルードが必要です。stdafx.h を含める必要があるのは、それを強制する依存関係があるためです。このプロジェクト関連ファイルをライブラリに含める必要がある理由を確認する必要があります (プロジェクトに固有のものではありません)。

この記事を見つけました: http://en.wikipedia.org/wiki/Precompiled_header

次に、stdafx.h を main.cpp の最初のインクルードに移動して、そこに libx.h ファイルもインクルードしようとします。

于 2012-08-08T18:49:11.060 に答える
0

stdafx.h を使用することはできません。プリコンパイル済みヘッダーにのみ使用されます。

できるよ#include "some_absolute_path2\libX.h"

それでもプリコンパイル済みヘッダーを使用したい場合#include "some_absolute_path2\libX.h"は、ライブラリを必要とするプロジェクトの stdafx.h に入れます。

于 2012-08-08T18:36:51.000 に答える