싱글 톤이 필요한 클래스가 있습니다. 이 클래스는 동일한 애플리케이션에서 여러 DLL에 사용되는 .LIB로 컴파일C++ : 정적 멤버가 중복 되었습니까?
class MySinglton
{
public:
static MySinglton& instance() { ... }
private:
static MySinglton* m_inst;
};
: 그것은 고정 부재 포인터를 사용하여 구현. 문제는 각 dll이 다른 m_inst
을 보는 것입니다. 그것은 컴파일되고 분리되어 링크되기 때문입니다.
이 문제를 해결하는 간단한 방법은 무엇입니까?
.lib를 자체 dll로 구분하는 것은 옵션이 아닙니다. .lib이어야합니다.
.lib로 컴파일하지 마십시오. 그것을 dll로 컴파일하십시오. 그럼 다른 모든 DLL은 같은 인스턴스를 사용합니다. –
정적이 아니어야합니다. – rerun
예, 고침, 고정 – shoosh