2017-09-09 40 views
-1

Visual Studio 2015でC++/OpenGLでプロジェクトを開発しています。Visual Studio 2015がヘッダーファイルを探す場所を指定します

私は自分のコードを2つのメインディレクトリに分割しています。すべての.cppファイルの "/ src"とすべてのヘッダーの "/ include"ディレクトリです。ディレクトリ構造は両方のフォルダで同じです:すべてのグラフィック関連ファイルは、ソースコード(.cpp)であるか、ヘッダー(.h)であるかによって "/ include/Graphics"または "/ src/Graphics"

A picture of the project structure

私は(常に「/含める」にあります)「の#include」ヘッダファイルにしたい場合は、VS2015はまだ「/ srcに」ディレクトリにヘッダファイルを探します。 それでも見つからなくても、これらのフォルダはまだリストに追加されています。

The #include list

私はこの問題を解消するために括弧( "の#include <を>")を使用できることを承知しています。しかし、C++/VS2015自体のために、ブラケットリストはすでに混雑しています。

すでにいくつかのプロジェクト設定を変更しようとしました。つまり、 "C++/General/Additional Include Directories"の下に "/ include"ディレクトリを追加しました。そして、 "/ src"フォルダを "VC++ Directories/Source Directories"に追加しました。

質問1:VS2015がこれらの "/ src"ディレクトリをインクルードリストに2回表示するのを止める方法はありますか?

質問2:#includeリストに表示される内容を管理するにはどうすればよいですか?

これは機能かもしれませんが、実際には迷惑で、この場合は目的を果たしません。両方のリスト項目を選択することができ、それらは機能します。これは、VS2015がヘッダファイルが実際に配置されているディレクトリを特定するためです。

答えて

1

Source Directoriesに何も追加する必要はありません。すべてのソースファイルは既にプロジェクトの一部ですが、Source Directoriesは外部コードを処理するために使用できます。

Additional Include Directories/includeディレクトリを追加するか、または<>を使用してそれらを含める必要はありません。ヘッダーのみのライブラリを開発する場合にのみ意味があります。通常、同じプロジェクトのヘッダーファイルを含める場合、相対パスを使用します。たとえば、Engine.cppには#include "../include/Engine.h"を含めることができます。ヘッダファイルを別々のフォルダに保存するのはいくぶん醜いので、対応するソースファイルとヘッダファイルを同じフォルダに保存して、ヘッダを#include "Engine.h"のように入れることができます。

Visual Studioではソリューションエクスプローラでヘッダーファイルとソースファイルを個別にグループ化できます。

関連する問題