2016-12-12 5 views
0

を見つけていない基本的に私は、コンパイラがGLEW・ライブラリーが存在しないというエラーを出し理由を理解しよう:マック - OpenGLの - GLEW

fatal error: 'GL/glew.h' file not found 

マイセットアップ:

醸造リスト:で

glew 
glfw 
glm 

/usr/local/includeディレクトリ:

GL -> ../Cellar/glew/2.0.0/include/GL 
GLFW -> ../Cellar/glfw/3.2.1/include/GLFW 
glm -> ../Cellar/glm/0.9.8.3/include/glm 

とのMakefile:

# OBJS specifies which files to compile as part of the project 
OBJS = *.cpp 

# CC specifies which compiler we're using 
CC = g++ 

# INCLUDE_PATHS specifies the additional include paths we'll need 
INCLUDE_PATHS = -I/usr/local/include -I/opt/X11/include 

# LIBRARY_PATHS specifies the additional library paths we'll need 
LIBRARY_PATHS = -L/usr/local/lib -I/opt/X11/lib 

# COMPILER_FLAGS specifies the additional compilation options we're using 
# -w suppresses all warnings 
COMPILER_FLAGS = -w 

# LINKER_FLAGS specifies the libraries we're linking against 
# Cocoa, IOKit, and CoreVideo are needed for static GLFW3. 
LINKER_FLAGS = -framework OpenGL -lglfw3 -lglew 

# OBJ_NAME specifies the name of our exectuable 
OBJ_NAME = main 

#This is the target that compiles our executable 
all : $(OBJS) 
    $(CC) $(OBJS) $(INCLUDE_PATHS) $(LIBRARY_PATHS) $(COMPILER_FLAGS) $(LINKER_FLAGS) -o $(OBJ_NAME) 

私はと呼ばれる同じディレクトリにファイルがある場合:File.cppと私を実行します。

make File 

を私が手:

fatal error: 'GL/glew.h' file not found 

なぜ誰も説明することができます上記のセットアップが間違っている/破損しています

ps:os、el capitan

+0

Xcodeを使用していますか? –

+0

いいえ、私は自分のファイルシステムを持っています –

+0

'make File':makefileにレシピのないターゲットを作りようとしていて、' make'が取り消す組み込みのレシピで困惑しています。このメイクファイルでは、それ以外の点ではそれほど問題はありません。 GNU MakeとGCCの作業の基礎を学ぶのがベストです。ここには初心者のチュートリアル(https://www3.ntu.edu.sg/home/ehchua/programming/cpp/gcc_make.html)があります。権威ある文書の場合は、ここには[GNU Make Manual](https://www.gnu.org/software/make/manual/make.html) があります。ここには[GCCマニュアル](https://gcc.gnu .org/onlinedocs /) –

答えて

0

ディレクトリ構造が正しいことを確認してください。例えば

は、あなたがあなたのためにあなたのディレクトリ構造を説明したがとても似ています

GL -> ../Cellar/glew/2.0.0/include/GL 
GLFW -> ../Cellar/glfw/3.2.1/include/GLFW 
glm -> ../Cellar/glm/0.9.8.3/include/glm 

彼らはあなたがダウンロードしたアーカイブからアンパックするときに存在するように、これはちょっとライブラリのデフォルトのディレクトリ構造のように見えるので、私は」 mは、参照として私のディレクトリ構造を参照するために行く:

Directory Structure

は、今すぐあなたのエラーを見て:

fatal error: 'GL/glew.h' file not found 

ディレクトリ構造が1.13.0から2.0.0の間で大幅に変更されていない限り、 "Include"ディレクトリが#includeの文よりも低いレベルであるため、このエラーが発生することは明らかですアクセスするために。

#include<GL/glew.h>#include<glew.h>に置き換えた場合は、問題を解決する必要があります。

代わりに、3つのincludeステートメントの代わりに、ライブラリを再編成し、すべてのヘッダーを1か所に置いてから、すべてをプライマリインクルードディレクトリへの参照で参照します。

0

GLEWは、OpenGL拡張モジュール全体と最新のプロファイルエントリポイントを読み込む非標準ライブラリです。プロジェクトに依存して追加することも可能ですが、標準の "OpenGL開発環境"の一部ではありません。

どうやってそれを手に入れますか?あなたには良いニュースがあります:あなたはMacOS-Xのために開発しています。そしてそのOSでは、実行時にOpenGLエントリポイントを読み込む必要はありません。 MacOS-X OpenGLフレームワークには、必要なものすべてが付属しています。

だから、プロジェクトビルドから条件付きでGLEWを削除する必要があります。

サイドノート:ビルド構成でX11を参照しています。 MacOS-XはX11実装を提供していますが、現代のOpenGLやあらゆる種類の円滑なAPI統合を提供するものではありません。あなたは間違いなくそれを使ってはいけません。