FORMS += mainwindow.ui
LIBS += -lopengl32 -lglut32 //(error is here, the second term)
win32:CONFIG(release, debug|release): LIBS += -LC:/ (path to some lib) -l(a good lib that is not regarding to this question)
else:win32:CONFIG(debug, debug|release): LIBS += -LC:/ (path to some lib) -l(a lib)
INCLUDEPATH += C:/(path to some directory)
DEPENDPATH += C:/(path to some directory)
-lopengl32を使用してopenWindowをmainWindowに接続すると正常に動作します。つまり、すべての機能を使用できます。 OpenGLライブラリから。しかし、今私はopenglwidget.hの外で作成された別のhファイル(ここではx.hという名前)の関数を使う必要があるので、単に
<GL/glut.h>
をインクルードするだけです。私はプロジェクト全体をコンパイルする前にQTがglut.hファイルを見つけることができます。言い換えれば、キーワード 'GLfloat'の紫色はglut.hが私のx.hで正常に呼び出されたことを示しています。私はプロジェクトをコンパイルするときただし、リンクの問題が発生します。
QTでopengl32を使用していますが、glut.hをインクルードするとリンクエラーが発生します
:-1: error: LNK1181: cannot open input file 'glut32.lib'
私はそれが私のVisual Studioのライブラリパスに右があるので、私は、私のglut32.libのための詳細なパスを指定する必要はないと思います。このエラーはqmakeファイルに-lglut32を置いた場合でも発生します。
また、glut32.libだけでなく、ビジュアルスタジオ2015でもエラーなしで実行できる別のy.libがありますが、このy.libをQTプロジェクトで使用すると同じ問題が発生します。コンパイラはlibファイルを正しく見つけることができません。エラーは私が上記に投稿したものと同じでした。
私の質問は、QTのmainWindowのウィジェットクラスではないときに、どのようにしてOpenGLライブラリを使用する必要がありますか?誰でも何か提案をいただきありがとうございました!
あなたはすでにQtを使っていますが、なぜGLUTのような別のアプリケーションフレームワークと組み合わせようとしていますか? – genpfault
glut.hで宣言されているGLfloatを使用したいので、私はxelfで使用できません。これはmeselfで定義したものです。明確にするために、GLfloatはx.hではなくopenglWidgetで使用できます。 –
'gl.h'の宣言を使うのではなく、' glut.h'に 'GLfloat'を定義しているGLUT実装はどれですか? – genpfault