C++ クラスのヘッダー ファイル内で extern "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
編集: David がすぐに指摘したように、extern GLHandler *currentInstance はエラーを修正しました。