2012-09-14 15 views
5

Sono disperato alla ricerca di qualsiasi informazione sull'errore menzionato.errore LNK2001: simbolo esterno non risolto "__declspec (dllimport) public: class QString & __thiscall QString :: operator = (classe QString &&)"

sto lavorando su Visual Studio 2010. Quando compilo il mio progetto (in 32 bit), in debug o rilascio, ricevo il seguente messaggio:

1> heterogeneous.obj: Errore LNK2001: simbolo esterno non risolto "__declspec (dllimport) pubblico: classe QString & _ thiscall QString :: operator = (classe QString & &)" ( _imp _ ?? 4QString @@ QAEAAV0 @ $$ QAV0 @@ Z)

1 > debug \ nori.exe: errore irreversibile LNK1120: 1 non risolto esternamente

Ho collegato QtCore4.lib in Linker-> Input, ho aggiunto Qt \ 4.8.2 \ lib alle directory della libreria in Linker-> General e ho incluso Qt \ 4.8.2 \ include e Qt \ 4.8. 2 \ include \ QtCore in C/C++ -> Generale. Mi sembra che debbano definire QString. Non so cos'altro potrei fare.

Grazie mille per il vostro aiuto.

+0

Il Qt che si sta utilizzando è stato compilato per Visual Studio 2010 x86? – drescherjm

+0

Inoltre, è necessario eseguire il collegamento a QtCore4d.lib nei build di debug. – drescherjm

+0

Sì Collegato a QTCore4.lib in Release mod e QtCored4.lib in Debug mod. Non ho installato il plugin Qt per VS2010 e ho installato le librerie qt per win x64. – Yauda

risposta

2

Avevo lo stesso problema, ma stavo usando le librerie Qt per VS2008.

Ho installato Qt Libraries for VS2010 per risolvere il problema.

0

Scopri dove sono le DLL Qt. Potrebbe essere necessario aggiungere quella directory a Debugging-> Environment.

+1

Ciò sarà necessario per eseguire effettivamente l'applicazione ma non risolverà gli errori del linker poiché si collega alle librerie di importazione. – drescherjm

0

Dopo un po 'di tempo, ho deciso di eliminare e reinstallare le librerie Qt, e funziona. Tuttavia, non ho idea del perché.

Grazie per il vostro aiuto!