1. error를 발견했는데.
error가 static으로 선언된 변수를 못찾아서 나오는 문제였습니다.
도통 이유를 알 수 없어서 이리 저리 헤매다가 어느 사이트를 찾았습니다.
2. error code
undefined reference to `xxx::s_xxxx'
3. 다시 재현해서 기록해보기록 했습니다.
코드는 아래와 같습니다.
이걸 실행시키면 아래의 에러코드가 쭈루룩 뜹니다.
xxx@xxx:~/Dropbox/cpp/xxx$ g++ main.cpp Singleton.cpp
/tmp/ccJ7akl7.o: In function `Singleton::instance()':
Singleton.cpp:(.text+0xe): undefined reference to `Singleton::s_instance'
Singleton.cpp:(.text+0x2e): undefined reference to `Singleton::s_instance'
Singleton.cpp:(.text+0x33): undefined reference to `Singleton::s_instance'
3-solution. 이 문제의 해법은,
cpp파일에 한줄만 추가하면 됩니다.
Singleton * Singleton::s_instance;
이유는 아직 잘 모르겠지만 이 한줄만 추가해주면 이 문제는 해결됩니다.
출처는 아래와 같습니다.
cf) 수정사항
Singleton * Singleton::s_instance; 을
#include <stdio.h>
Singleton * Singleton::s_instance = NULL; 으로
'소프트웨어 > c++' 카테고리의 다른 글
#define 속에 do while (0) 문장의 의미 (0) | 2015.02.12 |
---|---|
상속이면, 자식 클래스를 생성하면 부모도 생성이 되는가?? (0) | 2015.02.10 |
Weird case. two header file and one source with static element. (0) | 2015.02.02 |
클래스에 클래스를 저장하는 방법 3가지. (0) | 2015.02.02 |
상속에 대해서 (0) | 2015.01.14 |