8

Macにインストールされたqtクリエーターで、osx 10.9を使用してopenglプログラムを構築しようとしていました。osx10.9 で廃止された glut 関数について、いくつかの警告が表示されました。エラー メッセージの例は次のとおりです。

'glutInit' は非推奨です: OS X 10.9 で最初に非推奨になりました [-Wdeprecated-declarations] glutInit(&argc, &argv); ^

osx10.9でGLUT.hが使えなくなったのかな?他のいくつかの投稿によると、「OS X Deployment Target」を OSX10.8 に戻せば動作すると言われています。qtcreatorでこれを行う方法は? ありがとうございました!

4

1 に答える 1

10

10.9でも引き続きご利用いただけます。彼らはあなたにやめてほしいというかなり強い合図を送ってきていますが...

これらの警告は、-Wno-deprecated-declarationsコンパイラ オプションを使用して無効にすることができます。

GL3 レベルの機能を使用しようとしている場合は、適切なヘッダーを含めることも困難です。gl3.hそのためには、 while glut.hincludesを含める必要があるためgl.h、ビルド中に競合が発生する可能性があるという追加の苦情が発生します。これに対して私が見つけたややハックな回避策は、ヘッダーガードを定義してglut.hインクルードを防ぐことです:gl.h

#include <OpenGL/gl3.h>
#define __gl_h_
#include <GLUT/glut.h>

次に、GL3+ レベルの機能を使用するには、次のフラグを追加して指定する必要がありますglutInitDisplayMode()

glutInitDisplayMode(... | GLUT_3_2_CORE_PROFILE);

いよいよ GLFW を使い始める時が来そうです。私は GLUT を深刻な目的で使用したことはありませんが、小規模なデモ/テストには常に非常に便利でした。

于 2014-06-07T14:49:12.270 に答える