2016-10-01 19 views
0

C++でヘッダーを#にすると、コンパイラーはヘッダーの内容をコピーして#includeを貼り付けます。私は小さなゲームエンジン/フレームワークを作っています。GLFWwindowのようなものが必要なので、私はGLEW & GLFWをEngine.hに含めています。コンパイラはコードフォームengine.hをコピーしてテストゲーム1のmain.cppに貼り付けるだけなので、エンジンを使用するテストゲーム1プロジェクトではコンパイラエラーが発生します。これはテストにglewとglfwを含めることを試みていますゲーム1、私はそれが欲しくないし、私はそのプロジェクトでglewとglfwライブラリにリンクしていない。テストゲーム1にエンジンhを含めずに、engine.hのglewとglfwにアクセスできるように、どうすれば修正できますか?ヘッダーを含むプロジェクトにヘッダーを含めることなくヘッダーにインクルードする方法

+1

の場合ヘッダーにそれらが必要な場合は、それらを含める必要があります。使用しない場合は、それらを含めないでください。実際にそれを行う方法は他にありません。コードを見ずに何かを言うことは不可能です –

+0

コードを表示して、お手伝いします。ありがとう – amanuel2

+1

あなたの 'engine.h'を[ピンプルデザインパターンを使用する]書き直してください(http://stackoverflow.com/questions/3597693/how-does-the-pimpl-idiom-reduce-dependencies)。 –

答えて

0

2つのオプションがあります。 1.あなたは静的にGLEWとGLFWライブラリを使用してプロジェクトをリンクして、 2 GLFWwindow関数を呼び出すか、あなたはLoadLibrary関数を(使用してC++コードでGLEWとGLFWライブラリをロード)し、その後GetProcAddessを(使用してGLFWwindow関数を呼び出すのいずれか)

関連する問題