增加单身人士的麻烦

时间:2010-06-05 14:41:34

标签: c++ boost singleton

我有一些使用boost singleton的课程。它从自己的c ++库中调用一些函数。该库以make文件的形式编写为依赖。 现在我有另一个单例类,它应该调用第一个单例类。在这段代码之后,我得到了关于在第一个单例中使用的函数的未定义引用的链接器错误。

当我从第二个删除调用第一个单例类时,错误删除。也许有什么问题?

class First : public boost::singleton<First>
{
   void temp() { /* Calling function from own library */ }
};

class Second : public boost:singleton<Second>
{
    const First &someInstance() const { return First::get_const_instance(); }
};

结束错误:

In function `First::temp()':
undefined reference to `Ogre::WindowEventUtilities::messagePump()'
undefined reference to `Ogre::Root::renderOneFrame()'

是的,从 temp 中调用Ogre的函数。

1 个答案:

答案 0 :(得分:0)

这些错误表明您没有正确连接Ogre。

如果Second未引用First时它们消失,那是因为First未被其他任何地方引用/使用。

您是否尝试在代码中使用First来检查错误是否仍然存在?