Page 1 of 1

QxORM Build Error

PostPosted: Sat Oct 30, 2010 4:11 pm
by chiming.chin@gmail.com
Sorry for my poor English.
I tried building the QxORM on window xp ,mingw gcc 4.4.0, QT 4.6.3 and boost 1.42/1.44.The compile process was very good. But in the last step to link the lib, I meet a lot of errors, a lot of "undefined reference" errors. Such as :
./debug\QxSerialize_QVariant.o:QxSerialize_QVariant.cpp:(.text$_ZNK5boost7archive6detail11iserializerINS0_15binary_iarch
iveE5QTimeE16load_object_dataERNS1_14basic_iarchiveEPvj[boost::archive::detail::iserializer<boost::archive::binary_iarch
ive, QTime>::load_object_data(boost::archive::detail::basic_iarchive&, void*, unsigned int) const]+0x64): undefined refe
rence to `boost::archive::archive_exception::archive_exception(boost::archive::archive_exception::exception_code, char c
onst*, char const*)'
./debug\QxSerialize_QVariant.o:QxSerialize_QVariant.cpp:(.text$_ZNK5boost7archive6detail11iserializerINS0_15binary_iarchiveE5QTimeE16load_object_dataERNS1_14basic_iarchiveEPvj[boost::archive::detail::iserializer<boost::archive::binary_iarchive, QTime>::load_object_data(boost::archive::detail::basic_iarchive&, void*, unsigned int) const]+0x7a): undefined reference to `boost::archive::archive_exception::~archive_exception()'
./debug\QxSerialize_QVariant.o:QxSerialize_QVariant.cpp:(.text$_ZN5boost7archive6detail11oserializerINS0_15binary_oarchiveE5QTimeEC2Ev[boost::archive::detail::oserializer<boost::archive::binary_oarchive, QTime>::oserializer()]+0x18): undefined reference to `boost::archive::detail::basic_oserializer::basic_oserializer(boost::serialization::extended_type_info
const&)'
./debug\QxSerialize_QVariant.o:QxSerialize_QVariant.cpp:(.text$_ZN5boost7archive6detail11oserializerINS0_15binary_oarchiveE5QTimeED2Ev[boost::archive::detail::oserializer<boost::archive::binary_oarchive, QTime>::~oserializer()]+0x16): undefined reference to `boost::archive::detail::basic_oserializer::~basic_oserializer()'

I tried building with the boost's serialization lib both downloaded from Web site and compiled myself , the errors were same.

WHY And how can build the QxORM lib?

Re: QxORM Build Error

PostPosted: Sun Oct 31, 2010 8:30 am
by QxOrm admin
Hello,

QxOrm has been tested on Windows with Visual C++ 2008 and 2010.

QxOrm has not been tested with 'mingw'.
I think this is normal that QxOrm compiles fine because it works without problem on Linux with gcc.
But on Windows, build process is different, so QxOrm needs some modifications to work without problem on Windows with MinGW.

In the next release, QxOrm will be compatible with MinGW on Windows...

Re: QxORM Build Error

PostPosted: Sun Oct 31, 2010 5:57 pm
by chiming.chin@gmail.com
I tried building QxORM in vs2008 today using the "QxOrm.vcproj" project file. But the output showed that the compilation still use the gcc compiler and the building also failed.
So can someone send the lib and dll files in Windows to my email :chiming.chin@gmail.com?
thanks.

Re: QxORM Build Error

PostPosted: Sat Nov 13, 2010 8:13 pm
by ukindler
Hi,

I can confirm that QxORM does not build on Windows with MinGW GCC4.4.0 - I just tried it.

By the way, I would suggest to improve the build structure a little bit. Instead of including all source files and header files into one monolithic file QxORM.pro I would use *.pro files in each source folder and include these files into QxORM.pro file. That makes it easier to structure the build layout and makes the single pro files smaller and easier to maintain. This is how Qt itself and i.e. the Qtilities project structured the build layout.

If I have same time I will try to restructure the build layout to build the project with MinGW and then contribute the changes back to the project.

Anyway, great and useful project - i hope I will manage to build it with MinGW.

Re: QxORM Build Error

PostPosted: Sun Nov 14, 2010 11:11 am
by QxOrm admin
Hi,

Thank you for your remark, this is a very good idea to structure *.pro file...

QxOrm 1.1.3 compiles, builds and works fine with MinGW (tested with MinGW GCC 4.5.1 but I think there is no problem from version 4.4.0).
I release it next week...