QtとOpenGLを使ってC++プロジェクトを作成しようとしています.Linuxマシンで自宅のWindows 7マシンにコンパイルされていますが、難しそうです。最初に、GL_TEXTURE0のようないくつかのglのものはgl.hがウィンドウのために定義していないので、もはや定義されていないことを学びました。また、私が持っているglext.hはglActiveTextureのようないくつかの関数を定義していません。私が見つけたこれらの2つの問題は、新しいglext.hを導入することで解決できます。Windows/opengl glext.hビルドの問題
私の最も緊急な問題は、私が正しくそれを持ってこないということです。私がしている場合:
#define GL_GLEXT_LEGACY //should prevent old glext.h from being included
#define GL_GLEXT_PROTOTYPES //should make glActiveTexture be defined
#include <qgl.h>
#include "glext.h" //local up-to-date glext.h
#include <QGLShaderProgram>
その後、私はglActiveTextureへの未定義の参照があることを伝えます。 glext.hの前にQGLShaderProgramをインクルードしても、まだ問題はありますが、makeはQGLShaderProgramとglextの両方で定義されているかなりのことを再定義しているので、後者のファイルがインクルードされていることを知っています。どんな助けでも本当に感謝しています。
と同じくらい簡単です、それはあなたのシステムのいずれかを交換するだけで、インターネットから任意のヘッダファイルをダウンロードするには、ほとんど常に悪い考えだ(通常は動作しません)ヘッダー。 OpenGLはグラフィックドライバによって実装されているため、特殊なケースです。Windows上で(Qtを使用せずに)アクセスする典型的な方法は、実行時に関数へのポインタを取得することです。 GLEWのような拡張ライブラリはこれをもっと簡単にします。 –