我正在尝试在头文件中为 c++ 类使用外部“C”函数。
当我编译时,我不断收到错误
duplicate symbol _currentInstance in:
main.o
GLHandler.o
我以为我有合适的警卫,但似乎无法弄清楚为什么会发生这种情况。任何帮助将非常感激。
这是头文件。
#ifndef GLHANDLER_H
#define GLHANDLER_H
#include "LoadedObject.h"
#ifdef __cplusplus
extern "C" {
void displayCallback();
}
#endif
class GLHandler {
private:
LoadedObject *object;
public:
GLHandler(LoadedObject *);
void initializeVBO(LoadedObject *);
void renderObject(struct model *);
void displayFunction(void);
model *createModel(void);
void setupDisplayCallback();
};
GLHandler *currentInstance;
#ifdef __cplusplus
}
#endif
#endif
编辑:大卫很快指出,外部 GLHandler *currentInstance 修复了错误。