rro de link ao usar membros estátic
Estou usando o Qt 4.7 e o Cmake 2.8.3 com g ++ 4.2.1 no Mac OS X.
Estou recebendo um erro estranho no vinculador ao usar variáveis estáticas ou globais em um dos meus arquivos. Aqui está o erro:
ld: duplicate symbol ColorTrail::calculateColorUniformLocation in CMakeFiles/GLBall.dir/src/DesktopMain.cpp.o and CMakeFiles/GLBall.dir/src/ColorTrail.cpp.o
collect2: ld returned 1 exit status
calculateColorUniformLocation é um membro estático da classe ColorTrail ... mas nem sequer é usado em DesktopMain.cp
Aqui está o que eu tentei: Renomear a variável não resolve o problema. Mover a variável da classe e torná-la uma variável global simples também não a corrige
O arquivo ColorTrail.h:
#ifndef COLORTRAIL
#define COLORTRAIL 9
#include "GlobalConstants.h"
#include <vector>
using namespace std;
class ColorTrail
{
private:
//note that this is NOT a Q_OBJECT
static GLint calculateColorUniformLocation;
//omitted for brevity
};
GLint ColorTrail::calculateColorUniformLocation;
#endif
DesktopMain.cpp usa a classe ColorTrail, mas não estaticamente e nunca faz referência à variáve
Alguém tem alguma idéia do que pode estar errado / teve um problema semelhante com o Q