PDA

View Full Version : QSql::Location : enum type redefinition



abenchaaben
7th February 2017, 16:37
Hi,

I'im using QT 5.8 msvc2015_64. I'm trying to compile my project that using the QSql module. But i have a enum type redefinition error in the qtsqlGlobal.h (a qt header file).


#ifndef QTSQLGLOBAL_H
#define QTSQLGLOBAL_H

#include <QtCore/qglobal.h>

QT_BEGIN_NAMESPACE

#ifndef QT_STATIC
# if defined(QT_BUILD_SQL_LIB)
# define Q_SQL_EXPORT Q_DECL_EXPORT
# else
# define Q_SQL_EXPORT Q_DECL_IMPORT
# endif
#else
# define Q_SQL_EXPORT
#endif

namespace QSql
{
enum Location
{
BeforeFirstRow = -1,
AfterLastRow = -2
};

enum ParamTypeFlag
{
In = 0x00000001,
Out = 0x00000002,
InOut = In | Out,
Binary = 0x00000004
};
Q_DECLARE_FLAGS(ParamType, ParamTypeFlag)

enum TableType
{
Tables = 0x01,
SystemTables = 0x02,
Views = 0x04,
AllTables = 0xff
};

enum NumericalPrecisionPolicy
{
LowPrecisionInt32 = 0x01,
LowPrecisionInt64 = 0x02,
LowPrecisionDouble = 0x04,

HighPrecision = 0
};
}

Q_DECLARE_OPERATORS_FOR_FLAGS(QSql::ParamType)

QT_END_NAMESPACE

#endif // QSQL_H

I have compiled successfully my project with Qt msvc2012_64. But when i do it with QT 5.8 msvc2015_64 i had this error.

Any help please.

anda_skoa
8th February 2017, 09:10
Does the error contain any other hint?
E.g. where it finds the other definition?

Cheers,
_

abenchaaben
8th February 2017, 09:24
Does the error contain any other hint?
E.g. where it finds the other definition?

Cheers,
_

Thank you for replying. It's not the only error, i have QSql::ParamTypeFlag : enum type redefinition, QSql::TableType : enum type redefinition, QSql::NumericalPrecisionPolicy : enum type redefinition ..... But i guess it's the same problem. Like i say, i dont think that my source code is the problem. I compiled with Qt and visual 2012 before. But when i do it with Qt and visual 2015, i have this problem with the qt headers.