2017-08-22 15 views
0

Hプロジェクトでヘッダーファイルの相対パスを使用しないようにプロジェクトを設定しようとしています。その理由は、プロジェクトがマルチプラットフォームであり、コンパイルされているシステムに依存してそれぞれの使用を再構築することを避けたいからです。相対パス(VS2015/C++)を使用しないようにヘッダーファイルのパスを設定します。

現在、ヘッダーファイルは正しいパス方法を使用していないため、インクルードファイルを使用できる唯一の方法は、ファイルへの相対パスを設定することです。

E.G.私が使用したいrender.h私のファイルの

#include "math/matrix.h" <--- this doesn't work 

しかし

#include "../math/matrix.h" <--this works 

は、私はプロジェクトをセットアップするために、誤ってここで何をやっているのでしょうか? [プロパティ]ページで

、私は次のよう

VC++ディレクトリを設定している - > [インクルードディレクトリ - > C:\ゲーム\数学

C++ - >一般 - >追加のインクルードディレクトリ - > C: \ Game \ math

.cppファイルを右クリックしてプロパティに移動すると、C \ C++オプションがありますが、ヘッダーは表示されません。あなたのファイルがC:\Game\math\matrix.hに存在する場合には、C:\Game\mathのディレクトリと"math/matrix.h"#includeディレクティブを含める

答えて

1

C:\Game\math\math/matrix.hの連結結果を生成します。インクルードディレクトリをC:\Game(または#includeのみを"matrix.h"にする)に変更するだけです。

また、ソース(.cpp)ファイルではなく、プロジェクトごとのインクルードディレクトリを設定するのが一般的です。ヘッダーファイルにC++コンパイルオプションがないのは、コンパイルされていないことです。ソースのみがコンパイルされます。

関連する問題