OpenGLから無効なイメージ形式エラーが発生しました。私はプリコンパイルされたヘッダーを使用しているのか、OpenGLを適切に初期化していないのか分かりません。私が知る限り、私はC++/CLIを使用していません(私はVC++ Express 2010で空のプロジェクトを作成しました)。私はWindows7(x64)を実行しています。私のエラーコードは0xc000007b
です。OpenGLが無効なイメージ形式を返します
これはOpenGLと共通ですか?また、私はFreeglutと一緒にGlewを使っています。
奇妙なことは、イメージや何かをレンダリングしようとしていないことです。私は単にウィンドウを表示しようとしています。
コード
#include "stdafx.h"
#include "triangle.h"
#include "matrix3f.h"
static GLfloat move;
static GLfloat spin;
void init() {
glClearColor(0.0, 0.0, 0.0, 0.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);
}
void display() {
glClear(GL_COLOR_BUFFER_BIT);
glPushMatrix();
glShadeModel(GL_FLAT);
glPopMatrix();
glutSwapBuffers();
}
void draw_window() {
int height = 500;
double width = 1.9 * (double)height;
glutInitWindowSize((int)width, height);
glutInitWindowPosition(0, 0);
glutCreateWindow("opengl_03");
}
void spin_display() {
spin += 2.0;
if (spin > 360.0)
spin -= 360.0;
glutPostRedisplay();
}
void move_display() {
move += 1.0;
if (move > 10)
move -= 10;
glutPostRedisplay();
}
void keyboard(unsigned char button, int state, int x) {
}
int main(int argc, char** argv) {
glutInit(&argc, argv);
glutInitContextVersion(3, 1);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
init();
draw_window();
//system("pause");
return 0;
}
も知って興味深いものになるだろう私はこれから悪いイメージ形式を持っているかです。私は自分のリリースがIDEでデバッグされていることを確認しました。
質問
私の主な質問は、可能な場合、私が間違っているの内容を正確に把握することです。
更新
は私がSysWOW64
にglew32.dll
を移動しようとした、残念ながらそれは動作しませんでした。私はまた私のdraw_window
機能をメインの先頭に移動することを含む提案を試みましたが、それはどちらも機能しませんでした。
正確にこのエラーが発生していますか? OpenGL *自体には、 "無効なフォーマットエラー"という概念はありません。 –
これはおそらく、64ビットアプリケーションで32ビットDLLを読み込もうとしていることを意味します。 –
それは非常によく、私のsystem32(glew32、実際には)にロードされている32ビットdllを持っているだけかもしれません。私はSysWOW64に移動して何が起こるかを見てみましょう。 – zeboidlund