2012-01-24 20 views
1

私は大したことはないが、GLEW(SDLとOpenGL - OpenGLのSDLの実装ではない)をQt CreatorでQMakeファイルにリンクしようとしている。何を試しても、私はから生じるconflicting declarationの問題を扱うのと同じ文字列エラーを出すようです。私が知りたいのは、なぜこれが起こっているのか、それについて何ができるのかということです。私はSDL(それはOpenGLのサポートを持っているかのように見て)とリンクしていますので、Qt Creatorで問題が発生しましたか?

/usr/include/SDL/SDL_opengl.h:4855: error: conflicting declaration ‘typedef void (* PFNGLFRAGMENTLIGHTFVSGIXPROC)(GLenum, GLenum, const GLfloat*)’ 
/usr/include/GL/glew.h:12201: error: ‘PFNGLFRAGMENTLIGHTFVSGIXPROC’ has a previous declaration as ‘typedef void (* PFNGLFRAGMENTLIGHTFVSGIXPROC)(GLenum, GLenum, GLfloat*)’ 

はこれですか、ここで起こって何か他のものはありますか?

qmakeのstdafx.cpp

#pragma once 

/*************/ 
/* #includes */ 
/*************/ 

//GL/SDL 
#include <GL/glew.h> 
#define GLEW_STATIC 
#include <GL/gl.h> 
#include <GL/glu.h> 
#include <GL/glext.h> 
#include <SDL/SDL.h> 
#include <SDL/SDL_opengl.h> 

//STD 
#include <iostream> 
#include <fstream> 

//Qt 
#include <QListIterator> 
#include <QMapIterator> 
#include <QVector4D> 
#include <QColor> 

/********************/ 
/* Using Statements */ 
/********************/ 

using std::cout; 
using std::endl; 
using std::cin; 

using std::fstream; 

STDAFX.H

QT += core 

LIBS += -lSDL -lSDL_image -lopengl32 -lGLU -lGLEW 

#define GL_GLEXT_PROTOTYPES 
+0

これらはコンパイルエラーです - リンカー以外のエラー –

+0

ああ、ありがとう。次回はそれを念頭に置いておきます。 – zeboidlund

+0

なぜあなたはSDLをまったく含めていますか? QtはSDLが行うすべてのことを行います。 – datenwolf

答えて

0

yにのみ溶液ファイル私たちの問題はいずれか(GLEWまたはSDL_opengl)を使用することではなく、少なくともソースとヘッダーファイルにGL/glew.hSDL/SDL_opengl.hの両方のヘッダーを含めることではありません。

0

は、私はそう、<SDL/SDL_opengl.h>を含める前にNO_SDL_GLEXTを定義することによって、その前に、私たちは「解決」と同様の問題があった:それはエラーが離れて行かせたので

#define NO_SDL_GLEXT 
#include <SDL/SDL_opengl.h> 

は、私は、「解決」と言うが、私は決して可能性のある副作用や問題を調査しました(SDLの直後に移動してしまい、もう使用していません)。おそらく試してみる価値があります...

関連する問題