12

いくつかのコンテキスト: OpenGL の使用に関するチュートリアルを行っています。チュートリアルを機能させるには、いくつかのライブラリが必要です。これらのライブラリの 1 つに FreeGLUT があります。OS X で Lion を使用しています。

FreeGLUT をダウンロードし、指示に従ってインストールしましたが、「make all」コマンドを実行すると、次のエラーが表示されます。

error: GL/gl.h: No such file or directory
error: GL/glu.h: No such file or directory

インターネットで解決策を探しましたが、これから理解できるのは、コンパイラがこれらのファイルを見つけるのに問題があり、コンパイラが使用しているパスを変更する必要があるということだけです。

編集:さて、それはコンパイラではないことがわかりました。何らかの理由でそれらのファイルが存在しないということです。なぜ彼らがそこにいないのかを理解しようとしています。

4

3 に答える 3

16

Macでは、これらのヘッダーファイルの場所はLinuxと同じではありません。したがって、コードでこれを置き換えます。

#include <GL/gl.h>
#include <GL/glu.h>

これとともに:

#include <OpenGL/gl.h>
#include <OpenGL/glu.h>

これで問題が解決するはずです。

于 2012-06-02T22:28:05.600 に答える
0

そのチュートリアル、OpenGLBook.com は、OpenGL 4.0 コア コンテキストに基づいており、代わりに 3.3 コア コンテキストが使用されています。せいぜい OS X (Mountain Lion を使用) では、3.3 と十分に類似した 3.2 コア コンテキストが得られますが、残念ながらこれは GLUT と互換性がありません。 3.2 コア コンテキストでは使用できない古い OpenGL 関数。

このチュートリアルを OS X (10.6.3 以降) で多くの厄介な非互換性に対処することなく、将来的にも保証される OpenGL で実行したい場合は、XQuartz (2.7.2 以降) の最新バージョンをインストールすることをお勧めします。 FreeGLUT (最初は 2.8.0) が含まれています。

https://dl.bintray.com/xquartz/downloads/XQuartz-2.7.11.dmg

于 2012-08-24T05:02:04.303 に答える
0

macports 経由で freeglut をインストールし、premake4.lua を変更して、freeglut とは別に glsdk で非公式の OpenGL SDK をビルドします。lib を手動でコピー アンド ペーストし、freeglut のフォルダーを (macports 経由で) インクルードし、framework.cpp (フレームワーク フォルダー) 内の #include_GL/freeglut.h> を変更して、ヘッダーが見つかるようにします。また、フォルダー名の空白を埋めます。例: Tut 13 Impostors -> Tut_13_Impostors

わたしにはできる

詳細はこちら

于 2012-09-01T13:21:56.513 に答える