Hi,
Is it possible to use QxOrm with class hierarchy, like having a base class use for all my derived entity classes?
The target is to implement generic method in the base class (insert, update, xml read, xml write, etc). How to do that ?
Thanks
undefined reference to `typeinfo for pack::MyClass'
#ifdef _BUILDING_DLL
#define QX_DLL_EXPORT QX_DLL_EXPORT_HELPER
#else // _BUILDING_DLL
#define QX_DLL_EXPORT QX_DLL_IMPORT_HELPER
#endif // _BUILDING_DLL
#ifdef _BUILDING_DLL
#define QX_REGISTER_HPP_DLL QX_REGISTER_HPP_EXPORT_DLL
#define QX_REGISTER_CPP_DLL QX_REGISTER_CPP_EXPORT_DLL
#define QX_REGISTER_COMPLEX_CLASS_NAME_HPP_DLL QX_REGISTER_COMPLEX_CLASS_NAME_HPP_EXPORT_DLL
#define QX_REGISTER_COMPLEX_CLASS_NAME_CPP_DLL QX_REGISTER_COMPLEX_CLASS_NAME_CPP_EXPORT_DLL
#else // _BUILDING_DLL
#define QX_REGISTER_HPP_DLL QX_REGISTER_HPP_IMPORT_DLL
#define QX_REGISTER_CPP_DLL QX_REGISTER_CPP_IMPORT_DLL
#define QX_REGISTER_COMPLEX_CLASS_NAME_HPP_DLL QX_REGISTER_COMPLEX_CLASS_NAME_HPP_IMPORT_DLL
#define QX_REGISTER_COMPLEX_CLASS_NAME_CPP_DLL QX_REGISTER_COMPLEX_CLASS_NAME_CPP_IMPORT_DLL
#endif // _BUILDING_DLL
#define QX_APP_EXPORT QX_DLL_EXPORT_HELPER
#define QX_REGISTER_HPP_APP QX_REGISTER_HPP_EXPORT_DLL
#define QX_REGISTER_CPP_APP QX_REGISTER_CPP_EXPORT_DLL
#define QX_REGISTER_COMPLEX_CLASS_NAME_HPP_APP QX_REGISTER_COMPLEX_CLASS_NAME_HPP_EXPORT_DLL
#define QX_REGISTER_COMPLEX_CLASS_NAME_CPP_APP QX_REGISTER_COMPLEX_CLASS_NAME_CPP_EXPORT_DLL
namespace myspace {
QX_DLL_EXPORT class MyClass : public QObject {
Q_OBJECT
QX_REGISTER_FRIEND_CLASS(myspace::MyClass)
public:
MyClass() : QObject()
}
virtual ~MyClass() {
}
...
private:
QString m_name;
};
typedef boost::shared_ptr<MyClass> MyClassPtr;
}
QX_REGISTER_COMPLEX_CLASS_NAME_HPP_DLL(myspace::MyClass, QObject, 0, myspace_MyClass)
QX_REGISTER_COMPLEX_CLASS_NAME_CPP_DLL(myspace::MyClass, myspace_MyCLass);
namespace qx {
template<>
void register_class(QxClass<myspace::MyClass> & t) {
IxDataMember * pData = NULL;
t.setName("entity");
pData = t.data(&myspace::MyClass::m_name, "name", 1, true, false);
}
}
/src/MyClass.o: In function `myspace::MyClass::MyClass()':
MyClass.cpp:(.text._ZN4sdbs3ifs9MyClassC1Ev[myspace::MyClass::MyClass()]+0x27): undefined reference to `vtable for myspace::MyClass'
./src/MyClass.o: In function `boost::serialization::extended_type_info_typeid<myspace::MyClass>::extended_type_info_typeid()':
MyClass.cpp:(.text._ZN5boost13serialization25extended_type_info_typeidIN4sdbs3ifs9MyClassEEC2Ev[boost::serialization::extended_type_info_typeid<myspace::MyClass>::extended_type_info_typeid()]+0x49): undefined reference to `typeinfo for myspace::MyClass'
./src/MyClass.o: In function `boost::serialization::extended_type_info_typeid<myspace::MyClass>::extended_type_info_typeid()':
MyClass.cpp:(.text._ZN5boost13serialization25extended_type_info_typeidIN4sdbs3ifs9MyClassEEC1Ev[boost::serialization::extended_type_info_typeid<myspace::MyClass>::extended_type_info_typeid()]+0x49): undefined reference to `typeinfo for myspace::MyClass'
./src/MyClass.o: In function `myspace::MyClass const* boost::serialization::smart_cast_impl::pointer<myspace::MyClass const*>::polymorphic::cast<QObject const>(QObject const*)':
MyClass.cpp:(.text._ZN5boost13serialization15smart_cast_impl7pointerIPKN4sdbs3ifs9MyClassEE11polymorphic4castIK7QObjectEES7_PT_[myspace::MyClass const* boost::serialization::smart_cast_impl::pointer<myspace::MyClass const*>::polymorphic::cast<QObject const>(QObject const*)]+0x23): undefined reference to `typeinfo for myspace::MyClass'
collect2: ld a retourné 1 code d'état d'exécution
make: *** [ifsbase] Erreur 1
Users browsing this forum: No registered users and 2 guests