[PyQt] Build fails with PyQt-commercial-5.5.1-snapshot-dd00723a6712

Glenn Ramsey gr at componic.co.nz
Tue Sep 22 02:32:12 BST 2015


On 22/09/15 11:11, Phil Thompson wrote:
> On 21 Sep 2015, at 11:47 pm, Glenn Ramsey <gr at componic.co.nz> wrote:
>> 
>> Hi Phil,
>> 
>> When attempting to build the current snapshot I get this failure:
>> 
>> link /NOLOGO /DYNAMICBASE /NXCOMPAT /INCREMENTAL:NO /DLL /SUBSYSTEM:WIND 
>> OWS /OUT:release\QtNfc.dll @C:\Users\glenn\AppData\Local\Temp\nm40B6.tmp 
>> Qt5Nfc.lib(Qt5Nfc.dll) : error LNK2005: "public: __thiscall QList<class
>> QNdefRec ord>::QList<class QNdefRecord>(class QList<class QNdefRecord>
>> const &)" (??0?$QL ist at VQNdefRecord@@@@QAE at ABV0@@Z) already defined in
>> sipQtNfcQList0100QNdefRecord .obj Qt5Nfc.lib(Qt5Nfc.dll) : error LNK2005:
>> "public: __thiscall QList<class QNdefRec ord>::~QList<class
>> QNdefRecord>(void)" (??1?$QList at VQNdefRecord@@@@QAE at XZ) alrea dy defined in
>> sipQtNfcQList0100QNdefRecord.obj Qt5Nfc.lib(Qt5Nfc.dll) : error LNK2005:
>> "public: class QList<class QNdefRecord> & __thiscall QList<class
>> QNdefRecord>::operator=(class QList<class QNdefRecord> const &)"
>> (??4?$QList at VQNdefRecord@@@@QAEAAV0 at ABV0@@Z) already defined in sipQtN 
>> fcQList0100QNdefRecord.obj Qt5Nfc.lib(Qt5Nfc.dll) : error LNK2005: "public:
>> class QNdefRecord const & __thi scall QList<class
>> QNdefRecord>::at(int)const " (?at@?$QList at VQNdefRecord@@@@QBEA 
>> BVQNdefRecord@@H at Z) already defined in sipQtNfcQList0100QNdefRecord.obj 
>> Qt5Nfc.lib(Qt5Nfc.dll) : error LNK2005: "public: void __thiscall
>> QList<class QNd efRecord>::append(class QNdefRecord const &)"
>> (?append@?$QList at VQNdefRecord@@@@Q AEXABVQNdefRecord@@@Z) already defined
>> in sipQtNfcQList0100QNdefRecord.obj Creating library release\QtNfc.lib and
>> object release\QtNfc.exp release\QtNfc.dll : fatal error LNK1169: one or
>> more multiply defined symbols fo und
>> 
>> This is using the tool chain from VS2013.
> 
> I've seen this myself and cannot work out what the problem is.  Assuming you
> don't need to use the QtNfc module the easiest thing to do is to disable it
> before running configure.py. One way to disable it is to rename the QtNfc
> directory containing the .h files in your Qt installation to something like
> QtNfc-disabled.
> 
> I will add a flag to configure.py to specifically disable a module.

Thanks Phil, that works around it for me.

In case anyone else comes across this, the directory I renamed was
<QT_SRC_DIR>/qtconnectivity/include/QtNfc

Glenn


More information about the PyQt mailing list