異なるサブディレクトリにある多くのヘッダーファイルをインクルードする必要があります。Visual Studio(2005年版を使用しています)に、Visual Studioがヘッダーファイルのサブディレクトリも検索する1つのインクルードパスを設定する方法はありますか?
5 に答える
Visual Studio設定でフォルダー検索パスを設定してインクルードの問題を修正することは、通常、デザインの観点からはあまり良い考えではありません。コードは、ディレクトリレイアウトが異なるさまざまなマシンへの移植性が低くなります。
私の提案は、サブディレクトリの相対パス(インクルードコードに対する)が固定されるように、コードの編成を決定することです。
- 「ベースフォルダ」をプロジェクトに追加します(プロジェクトのプロパティ->構成のプロパティ-> C / C ++->追加のインクルードディレクトリ、「追加のインクルードディレクトリ」)
- サブディレクトリを#includeステートメントに追加し
#include "subdirectory/somefile.h"
ます。
これには、ソリューション内のどのフォルダーにファイルが含まれているかを確認できるという追加のボーナスがあります。これは、方法を見つけたり、ファイルの目的を理解したりするときに役立つ情報です。
Visual Studio で再帰的なフォルダー検索を設定する方法は見つかりませんでした (ただし、Xcode では設定と使用に問題はありません)。ファイル内のすべてのディレクトリを一覧表示し、C/C++ コマンド ラインの追加オプションでファイルを指定します。
@"IncludeFolders.rsp"
再帰検索を使用して問題を見つけることはめったにありませんが、誤って ``/'' を含めると処理が少し遅くなったことがあります。
インクルードファイルの再帰検索を使用すると、間違ったファイルや間違ったバージョンがインクルードされるという形で解決するよりもはるかに多くの問題が発生すると思います。結局のところ、プロジェクトを設定するときに、適切なディレクトリを一度定義する必要があります。