I am working on a dll project that will probably use QxOrm to save some data in a database.
Qt.4.7.0
boost.1.42.0
Visual C++ 2010
The data are manipulated using this code :
(I don't quote all the project, I don't think it is necessary)
ObjectPrecompiled.h
- Code: Select all
#ifndef _Object_Precompiled_h_
#define _Object_Precompiled_h_
#include <QxOrm.h>
#include "ObjectDecl.h"
#endif // _Object_Precompiled_h_
ObjectExport.h
- Code: Select all
#ifndef _Object_Decl_h_
#define _Object_Decl_h_
#ifndef IMP_EXP_OBJECT
#ifdef WIN32
#ifdef _OBJECT
#define IMP_EXP_OBJECT __declspec(dllexport)
#else
#define IMP_EXP_OBJECT __declspec(dllimport)
#endif //_OBJECT
#endif // WIN32
#endif // _OBJECT
#ifdef _OBJECT
#define QX_REGISTER_HPP_OBJECT QX_REGISTER_HPP_EXPORT_DLL
#define QX_REGISTER_CPP_OBJECT QX_REGISTER_CPP_EXPORT_DLL
#else
#define QX_REGISTER_HPP_OBJECT QX_REGISTER_HPP_IMPORT_DLL
#define QX_REGISTER_CPP_OBJECT QX_REGISTER_CPP_IMPORT_DLL
#endif
#endif // _Object_Decl_h_
ObjectCharacteristicValue.h
- Code: Select all
#ifndef _OBJECT_CHARACTERISTIC_VALUE_h_
#define _OBJECT_CHARACTERISTIC_VALUE_h_
#include <QDateTime>
#include <QObject>
class IMP_EXP_OBJECT ObjectCharacteristicValue : public QObject{
Q_OBJECT
Q_PROPERTY( int mId READ GetId WRITE SetId )
public:
ObjectCharacteristicValue();
~ObjectCharacteristicValue();
// Q_PROPERTY accessors
int GetId() const { return mId ; }
void SetId( int aId ) { mId = aId ; }
protected:
int mId ;
};
#endif // _OBJECT_CHARACTERISTIC_VALUE_h_
ObjectCharacteristicValue.cpp
- Code: Select all
#include "ObjectPrecompiled.h"
#include "ObjectCharacteristicValue.h"
#include <QxMemLeak.h>
ObjectCharacteristicValue::ObjectCharacteristicValue()
{
}
ObjectCharacteristicValue::~ObjectCharacteristicValue()
{
}
The full project compils well without QxOrm stuff.
But as soon as I had QxOrm include, I get this list of error messages when compiling :
- Code: Select all
D:\Boost\Boost.1.42.0\boost/archive/impl/archive_serializer_map.ipp(45) : error C2491: 'boost::archive::detail::archive_serializer_map<Archive>::insert'ÿ: d‚finition de fonction dllimport non autoris‚e
D:\Boost\Boost.1.42.0\boost/archive/impl/archive_serializer_map.ipp(57) : error C2491: 'boost::archive::detail::archive_serializer_map<Archive>::erase'ÿ: d‚finition de fonction dllimport non autoris‚e
D:\Boost\Boost.1.42.0\boost/archive/impl/archive_serializer_map.ipp(67) : error C2491: 'boost::archive::detail::archive_serializer_map<Archive>::find'ÿ: d‚finition de fonction dllimport non autoris‚e
D:\Boost\Boost.1.42.0\boost/archive/impl/basic_binary_oprimitive.ipp(59) : error C2491: 'boost::archive::basic_binary_oprimitive<Archive,Elem,Tr>::init'ÿ: d‚finition de fonction dllimport non autoris‚e
D:\Boost\Boost.1.42.0\boost/archive/impl/basic_binary_oprimitive.ipp(68) : error C2491: 'boost::archive::basic_binary_oprimitive<Archive,Elem,Tr>::save'ÿ: d‚finition de fonction dllimport non autoris‚e
D:\Boost\Boost.1.42.0\boost/archive/impl/basic_binary_oprimitive.ipp(77) : error C2491: 'boost::archive::basic_binary_oprimitive<Archive,Elem,Tr>::save'ÿ: d‚finition de fonction dllimport non autoris‚e
D:\Boost\Boost.1.42.0\boost/archive/impl/basic_binary_oprimitive.ipp(87) : error C2491: 'boost::archive::basic_binary_oprimitive<Archive,Elem,Tr>::save'ÿ: d‚finition de fonction dllimport non autoris‚e
D:\Boost\Boost.1.42.0\boost/archive/impl/basic_binary_oprimitive.ipp(97) : error C2491: 'boost::archive::basic_binary_oprimitive<Archive,Elem,Tr>::save'ÿ: d‚finition de fonction dllimport non autoris‚e
D:\Boost\Boost.1.42.0\boost/archive/impl/basic_binary_oprimitive.ipp(121) : error C2491: 'boost::archive::basic_binary_oprimitive<Archive,Elem,Tr>::basic_binary_oprimitive'ÿ: d‚finition de fonction dllimport non autoris‚e
D:\Boost\Boost.1.42.0\boost/archive/impl/basic_binary_oprimitive.ipp(161) : error C2491: 'boost::archive::basic_binary_oprimitive<Archive,Elem,Tr>::~basic_binary_oprimitive'ÿ: d‚finition de fonction dllimport non autoris‚e
D:\Boost\Boost.1.42.0\boost/archive/impl/basic_binary_iprimitive.ipp(89) : error C2491: 'boost::archive::basic_binary_iprimitive<Archive,Elem,Tr>::init'ÿ: d‚finition de fonction dllimport non autoris‚e
D:\Boost\Boost.1.42.0\boost/archive/impl/basic_binary_iprimitive.ipp(99) : error C2491: 'boost::archive::basic_binary_iprimitive<Archive,Elem,Tr>::load'ÿ: d‚finition de fonction dllimport non autoris‚e
D:\Boost\Boost.1.42.0\boost/archive/impl/basic_binary_iprimitive.ipp(115) : error C2491: 'boost::archive::basic_binary_iprimitive<Archive,Elem,Tr>::load'ÿ: d‚finition de fonction dllimport non autoris‚e
D:\Boost\Boost.1.42.0\boost/archive/impl/basic_binary_iprimitive.ipp(126) : error C2491: 'boost::archive::basic_binary_iprimitive<Archive,Elem,Tr>::load'ÿ: d‚finition de fonction dllimport non autoris‚e
D:\Boost\Boost.1.42.0\boost/archive/impl/basic_binary_iprimitive.ipp(143) : error C2491: 'boost::archive::basic_binary_iprimitive<Archive,Elem,Tr>::load'ÿ: d‚finition de fonction dllimport non autoris‚e
D:\Boost\Boost.1.42.0\boost/archive/impl/basic_binary_iprimitive.ipp(166) : error C2491: 'boost::archive::basic_binary_iprimitive<Archive,Elem,Tr>::basic_binary_iprimitive'ÿ: d‚finition de fonction dllimport non autoris‚e
D:\Boost\Boost.1.42.0\boost/archive/impl/basic_binary_iprimitive.ipp(206) : error C2491: 'boost::archive::basic_binary_iprimitive<Archive,Elem,Tr>::~basic_binary_iprimitive'ÿ: d‚finition de fonction dllimport non autoris‚e
D:\Boost\Boost.1.42.0\boost/archive/impl/basic_binary_oarchive.ipp(43) : error C2491: 'boost::archive::basic_binary_oarchive<Archive>::init'ÿ: d‚finition de fonction dllimport non autoris‚e
D:\Boost\Boost.1.42.0\boost/archive/impl/basic_binary_iarchive.ipp(44) : error C2491: 'boost::archive::basic_binary_iarchive<Archive>::load_override'ÿ: d‚finition de fonction dllimport non autoris‚e
D:\Boost\Boost.1.42.0\boost/archive/impl/basic_binary_iarchive.ipp(76) : error C2491: 'boost::archive::basic_binary_iarchive<Archive>::init'ÿ: d‚finition de fonction dllimport non autoris‚e
I can't find what piece of macro is mistaken or missing...
Is this a problem that occurs to someone else?