C++;单例无法在Mac OS上链接 我试图用XCODE在C++、Mac OS上创建一个非常经典的单体 我创建了MySingleton类,如下所示: class MySingleton{ private: int val; static MySingleton *instance; MySingleton(){ val = 0; } public: int getVal(){ return val; } void setVal(int iVal){ val = iVal; } static MySingleton* getInstance(){ if(instance == NULL) instance = new MySingleton(); return instance; } };
链接器正在抱怨静态MySingleton*getInstance() 遵循链接器消息: 架构x86_64的未定义符号:“MySingleton::instance”, 引用自: 未在main.o ld:symbol中找到架构x86_64的MySingleton::getInstance():错误:链接器命令失败,退出代码为 1(使用-v查看调用) 有人能帮忙吗?也许我需要在Xcode上设置一些东西,顺便说一下,Xcode是4.2.1版,但我不能这样做。C++;单例无法在Mac OS上链接 我试图用XCODE在C++、Mac OS上创建一个非常经典的单体 我创建了MySingleton类,如下所示: class MySingleton{ private: int val; static MySingleton *instance; MySingleton(){ val = 0; } public: int getVal(){ return val; } void setVal(int iVal){ val = iVal; } static MySingleton* getInstance(){ if(instance == NULL) instance = new MySingleton(); return instance; } };,c++,macos,C++,Macos,链接器正在抱怨静态MySingleton*getInstance() 遵循链接器消息: 架构x86_64的未定义符号:“MySingleton::instance”, 引用自: 未在main.o ld:symbol中找到架构x86_64的MySingleton::getInstance():错误:链接器命令失败,退出代码为 1(使用-v查看调用) 有人能帮忙吗?也许我需要在Xcode上设置一些东西,顺便说一下,Xcode是4.2.1版,但我不能这样做。 谢谢。您需要在cpp文件中定义静态变量,如
谢谢。您需要在cpp文件中定义静态变量,如下所示:
MySingleton *MySingleton::instance = 0;
静态成员MySingleton需要在cpp文件中定义。在标题中,您只声明了它。查看此以了解更多信息:据我所知,您已经声明了
静态MySingleton*实例
,但没有在任何地方定义它。据我所知,您已经声明了静态MySingleton*实例
,但没有在任何地方定义它。太傻了!!!!谢谢ta。斯佩特。是!!!