私は大したことはないが、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
これらはコンパイルエラーです - リンカー以外のエラー –
ああ、ありがとう。次回はそれを念頭に置いておきます。 – zeboidlund
なぜあなたはSDLをまったく含めていますか? QtはSDLが行うすべてのことを行います。 – datenwolf