2010-06-05 2 views
0

У меня есть класс, который использует boost Singleton. Он вызывает некоторую функцию из собственной библиотеки C++. Эта библиотека написана в файле make как зависимость. Теперь у меня есть еще один класс singleton, и он должен вызвать первый одноэлементный класс. После этого кода я получил ссылку на ошибку о неопределенных ссылках на функции, которые используются в первом синглетоне.Boost singleton problem

Когда я удаляю вызов первого одноэлементного класса со второго, удалите ошибки. Может быть, что-то не так?

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()' 

Да, есть вызов функций Ogre от температуры один.

+1

Возможно есть. Но если вы не разместите какой-либо код и сообщения об ошибках, которые вы получаете, мы вряд ли сможем определить проблему. – 2010-06-05 14:49:34

+0

@ neil-butterworth сделал это. – Ockonal

ответ

0

Эти ошибки указывают на то, что вы не правильно связываетесь с Ogre.

Если они исчезают, когда Second не ссылается на First, это потому, что First не ссылается/не используется нигде.

Вы попробовали использовать код First в вашем коде, чтобы проверить, остались ли ошибки?