M
Matthias Kaeppler
Hi,
I'm confronted with an error here I haven't encountered before (g++ 3.3.5):
Building duality.elf ...
obj_dbg/mainwindow.o(.gnu.linkonce.t._ZN14TransferDialogC1EN5boost10shared_ptrI4TaskEE+0x5c):
In function
`TransferDialog::TransferDialog[in-charge](boost::shared_ptr<Task>)':
/usr/include/c++/3.3/bits/sstream.tcc:57: undefined reference to `vtable
for TransferDialog'
collect2: ld returned 1 exit status
make: *** [duality.elf] Error 1
It seems to come from this class' ctor:
class TransferDialog: public TaskDialog
{
public:
TransferDialog(TaskPtr task_ptr): TaskDialog(task_ptr) {}
virtual int on_progress_update(
const Gnome::Vfs::Async::Handle&,
Gnome::Vfs::Transfer:
rogressInfo&);
virtual bool on_progress_sync(
const Gnome::Vfs::Transfer:
rogressInfo&);
};
here's the base class:
class TaskDialog
{
public:
TaskDialog(TaskPtr task_ptr): task_(task_ptr) {}
virtual ~TaskDialog() {}
virtual int on_progress_update(
const Gnome::Vfs::Async::Handle&,
Gnome::Vfs::Transfer:
rogressInfo&);
virtual bool on_progress_sync(
const Gnome::Vfs::Transfer:
rogressInfo&);
protected:
TaskPtr get_task() const;
private:
TaskPtr task_;
};
TaskPtr is merely a typedef for boost::shared_ptr<Task>. I don't think
the Task class matters here, but if you want me to post it I can surely
do that as well.
It almost looks as if a virtual function is being invoked in the ctor
before the vtable exists, but on the other hand, that's not the case, as
far as I can tell. I don't know what is causing this.
Thanks in advance,
Matthias
I'm confronted with an error here I haven't encountered before (g++ 3.3.5):
Building duality.elf ...
obj_dbg/mainwindow.o(.gnu.linkonce.t._ZN14TransferDialogC1EN5boost10shared_ptrI4TaskEE+0x5c):
In function
`TransferDialog::TransferDialog[in-charge](boost::shared_ptr<Task>)':
/usr/include/c++/3.3/bits/sstream.tcc:57: undefined reference to `vtable
for TransferDialog'
collect2: ld returned 1 exit status
make: *** [duality.elf] Error 1
It seems to come from this class' ctor:
class TransferDialog: public TaskDialog
{
public:
TransferDialog(TaskPtr task_ptr): TaskDialog(task_ptr) {}
virtual int on_progress_update(
const Gnome::Vfs::Async::Handle&,
Gnome::Vfs::Transfer:
virtual bool on_progress_sync(
const Gnome::Vfs::Transfer:
};
here's the base class:
class TaskDialog
{
public:
TaskDialog(TaskPtr task_ptr): task_(task_ptr) {}
virtual ~TaskDialog() {}
virtual int on_progress_update(
const Gnome::Vfs::Async::Handle&,
Gnome::Vfs::Transfer:
virtual bool on_progress_sync(
const Gnome::Vfs::Transfer:
protected:
TaskPtr get_task() const;
private:
TaskPtr task_;
};
TaskPtr is merely a typedef for boost::shared_ptr<Task>. I don't think
the Task class matters here, but if you want me to post it I can surely
do that as well.
It almost looks as if a virtual function is being invoked in the ctor
before the vtable exists, but on the other hand, that's not the case, as
far as I can tell. I don't know what is causing this.
Thanks in advance,
Matthias