-
Bug
-
Resolution: Out of scope
-
Not Evaluated
-
None
-
5.4.1
-
None
This innocent looking example leads to two MSVC linker errors:
#define QT_STRICT_ITERATORS #include <QXmlStreamAttributes> #include <QDebug> int main() { QVector<QXmlStreamAttribute> attributes; foreach (const QXmlStreamAttribute &attr, attributes) { qDebug() << attr.name(); } }
main.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: class QTypedArrayData<class QXmlStreamAttribute>::const_iterator __thiscall QVector<class QXmlStreamAttribute>::begin(class QTypedArrayData<class QXmlStreamAttribute>::const_iterator)const " (__imp_?begin@?$QVector@VQXmlStreamAttribute@@@@QBE?AVconst_iterator@?$QTypedArrayData@VQXmlStreamAttribute@@@@V23@@Z) referenced in function "public: __thiscall QForeachContainer<class QVector<class QXmlStreamAttribute> >::QForeachContainer<class QVector<class QXmlStreamAttribute> >(class QVector<class QXmlStreamAttribute> const &)" (??0?$QForeachContainer@V?$QVector@VQXmlStreamAttribute@@@@@@QAE@ABV?$QVector@VQXmlStreamAttribute@@@@@Z) main.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: class QTypedArrayData<class QXmlStreamAttribute>::const_iterator __thiscall QVector<class QXmlStreamAttribute>::end(class QTypedArrayData<class QXmlStreamAttribute>::const_iterator)const " (__imp_?end@?$QVector@VQXmlStreamAttribute@@@@QBE?AVconst_iterator@?$QTypedArrayData@VQXmlStreamAttribute@@@@V23@@Z) referenced in function "public: __thiscall QForeachContainer<class QVector<class QXmlStreamAttribute> >::QForeachContainer<class QVector<class QXmlStreamAttribute> >(class QVector<class QXmlStreamAttribute> const &)" (??0?$QForeachContainer@V?$QVector@VQXmlStreamAttribute@@@@@@QAE@ABV?$QVector@VQXmlStreamAttribute@@@@@Z) debug\xmlstreamattribute.exe : fatal error LNK1120: 2 unresolved externals
I'm not able to reproduce this so far though with other types (like QVector<QString>)