【发布时间】:2026-01-26 07:40:01
【问题描述】:
问候
我已使用QT 4.8.5 和Visual Studio 2008 提出申请。出于某种原因,我需要将我的QT 更新为5.5.1,并将我的Visual Studio 更新为2010。我下载了qt-everywhere-opensource-src-5.5.1 并为Visual Studio 2010 构建。
configure -debug-and-release -opensource -platform win32-msvc2010 -icu -openssl -nomake examples -prefix C:\QT-Compile
nmake
nmake install
当我构建解决方案时,出现以下错误:
Error 1 error LNK2001: unresolved external symbol "__declspec(dllimport) public: struct QMetaObject * __thiscall QObjectData::dynamicMetaObject(void)const " (__imp_?dynamicMetaObject@QObjectData@@QBEPAUQMetaObject@@XZ) C:\Hashemi\Build\New_ATM\moc_ttu_manager.obj
Error 2 error LNK2001: unresolved external symbol "__declspec(dllimport) public: struct QMetaObject * __thiscall QObjectData::dynamicMetaObject(void)const " (__imp_?dynamicMetaObject@QObjectData@@QBEPAUQMetaObject@@XZ) C:\Hashemi\Build\New_ATM\moc_vdm_manager.obj
Error 3 error LNK2001: unresolved external symbol "__declspec(dllimport) public: struct QMetaObject * __thiscall QObjectData::dynamicMetaObject(void)const " (__imp_?dynamicMetaObject@QObjectData@@QBEPAUQMetaObject@@XZ) C:\Hashemi\Build\New_ATM\moc_wosa_event_listener.obj
Error 4 error LNK2019: unresolved external symbol "__declspec(dllimport) public: struct QMetaObject * __thiscall QObjectData::dynamicMetaObject(void)const " (__imp_?dynamicMetaObject@QObjectData@@QBEPAUQMetaObject@@XZ) referenced in function "public: virtual struct QMetaObject const * __thiscall RPTRManager::metaObject(void)const " (?metaObject@RPTRManager@@UBEPBUQMetaObject@@XZ) C:\Hashemi\Build\New_ATM\moc_rptr_manager.obj
Error 5 error LNK2001: unresolved external symbol "__declspec(dllimport) public: struct QMetaObject * __thiscall QObjectData::dynamicMetaObject(void)const " (__imp_?dynamicMetaObject@QObjectData@@QBEPAUQMetaObject@@XZ) C:\Hashemi\Build\New_ATM\moc_jptr_manager.obj
Error 6 error LNK2001: unresolved external symbol "__declspec(dllimport) public: struct QMetaObject * __thiscall QObjectData::dynamicMetaObject(void)const " (__imp_?dynamicMetaObject@QObjectData@@QBEPAUQMetaObject@@XZ) C:\Hashemi\Build\New_ATM\moc_sptr_manager.obj
Error 7 error LNK2001: unresolved external symbol "__declspec(dllimport) public: struct QMetaObject * __thiscall QObjectData::dynamicMetaObject(void)const " (__imp_?dynamicMetaObject@QObjectData@@QBEPAUQMetaObject@@XZ) C:\Hashemi\Build\New_ATM\moc_siu_manager.obj
Error 8 error LNK2001: unresolved external symbol "__declspec(dllimport) public: struct QMetaObject * __thiscall QObjectData::dynamicMetaObject(void)const " (__imp_?dynamicMetaObject@QObjectData@@QBEPAUQMetaObject@@XZ) C:\Hashemi\Build\New_ATM\moc_cim_manager.obj
Error 9 error LNK2001: unresolved external symbol "__declspec(dllimport) public: struct QMetaObject * __thiscall QObjectData::dynamicMetaObject(void)const " (__imp_?dynamicMetaObject@QObjectData@@QBEPAUQMetaObject@@XZ) C:\Hashemi\Build\New_ATM\moc_dep_manager.obj
Error 10 error LNK2001: unresolved external symbol "__declspec(dllimport) public: struct QMetaObject * __thiscall QObjectData::dynamicMetaObject(void)const " (__imp_?dynamicMetaObject@QObjectData@@QBEPAUQMetaObject@@XZ) C:\Hashemi\Build\New_ATM\moc_idc_manager.obj
Error 11 error LNK2001: unresolved external symbol "__declspec(dllimport) public: struct QMetaObject * __thiscall QObjectData::dynamicMetaObject(void)const " (__imp_?dynamicMetaObject@QObjectData@@QBEPAUQMetaObject@@XZ) C:\Hashemi\Build\New_ATM\moc_pin_manager.obj
Error 12 error LNK2001: unresolved external symbol "__declspec(dllimport) public: struct QMetaObject * __thiscall QObjectData::dynamicMetaObject(void)const " (__imp_?dynamicMetaObject@QObjectData@@QBEPAUQMetaObject@@XZ) C:\Hashemi\Build\New_ATM\moc_device_manager.obj
Error 13 error LNK2001: unresolved external symbol "__declspec(dllimport) public: struct QMetaObject * __thiscall QObjectData::dynamicMetaObject(void)const " (__imp_?dynamicMetaObject@QObjectData@@QBEPAUQMetaObject@@XZ) C:\Hashemi\Build\New_ATM\moc_bcr_manager.obj
Error 14 error LNK2001: unresolved external symbol "__declspec(dllimport) public: struct QMetaObject * __thiscall QObjectData::dynamicMetaObject(void)const " (__imp_?dynamicMetaObject@QObjectData@@QBEPAUQMetaObject@@XZ) C:\Hashemi\Build\New_ATM\moc_cam_manager.obj
Error 15 error LNK2001: unresolved external symbol "__declspec(dllimport) public: struct QMetaObject * __thiscall QObjectData::dynamicMetaObject(void)const " (__imp_?dynamicMetaObject@QObjectData@@QBEPAUQMetaObject@@XZ) C:\Hashemi\Build\New_ATM\moc_cdm_manager.obj
Error 16 error LNK2001: unresolved external symbol "__declspec(dllimport) public: struct QMetaObject * __thiscall QObjectData::dynamicMetaObject(void)const " (__imp_?dynamicMetaObject@QObjectData@@QBEPAUQMetaObject@@XZ) C:\Hashemi\Build\New_ATM\moc_controller.obj
Error 17 error LNK2001: unresolved external symbol "__declspec(dllimport) public: struct QMetaObject * __thiscall QObjectData::dynamicMetaObject(void)const " (__imp_?dynamicMetaObject@QObjectData@@QBEPAUQMetaObject@@XZ) C:\Hashemi\Build\New_ATM\moc_user_interface.obj
Error 18 error LNK2001: unresolved external symbol "__declspec(dllimport) public: struct QMetaObject * __thiscall QObjectData::dynamicMetaObject(void)const " (__imp_?dynamicMetaObject@QObjectData@@QBEPAUQMetaObject@@XZ) C:\Hashemi\Build\New_ATM\moc_ssl_connection_manager.obj
Error 19 error LNK2001: unresolved external symbol "__declspec(dllimport) public: struct QMetaObject * __thiscall QObjectData::dynamicMetaObject(void)const " (__imp_?dynamicMetaObject@QObjectData@@QBEPAUQMetaObject@@XZ) C:\Hashemi\Build\New_ATM\moc_fit_manager.obj
Error 20 error LNK2001: unresolved external symbol "__declspec(dllimport) public: virtual void * __thiscall QObject::qt_metacast(char const *)" (__imp_?qt_metacast@QObject@@UAEPAXPBD@Z) C:\Hashemi\Build\New_ATM\moc_vdm_manager.obj
Error 21 error LNK2001: unresolved external symbol "__declspec(dllimport) public: virtual void * __thiscall QObject::qt_metacast(char const *)" (__imp_?qt_metacast@QObject@@UAEPAXPBD@Z) C:\Hashemi\Build\New_ATM\moc_wosa_event_listener.obj
Error 22 error LNK2001: unresolved external symbol "__declspec(dllimport) public: virtual void * __thiscall QObject::qt_metacast(char const *)" (__imp_?qt_metacast@QObject@@UAEPAXPBD@Z) C:\Hashemi\Build\New_ATM\moc_jptr_manager.obj
Error 23 error LNK2001: unresolved external symbol "__declspec(dllimport) public: virtual void * __thiscall QObject::qt_metacast(char const *)" (__imp_?qt_metacast@QObject@@UAEPAXPBD@Z) C:\Hashemi\Build\New_ATM\moc_sptr_manager.obj
Error 24 error LNK2001: unresolved external symbol "__declspec(dllimport) public: virtual void * __thiscall QObject::qt_metacast(char const *)" (__imp_?qt_metacast@QObject@@UAEPAXPBD@Z) C:\Hashemi\Build\New_ATM\moc_siu_manager.obj
Error 25 error LNK2001: unresolved external symbol "__declspec(dllimport) public: virtual void * __thiscall QObject::qt_metacast(char const *)" (__imp_?qt_metacast@QObject@@UAEPAXPBD@Z) C:\Hashemi\Build\New_ATM\moc_ttu_manager.obj
Error 26 error LNK2001: unresolved external symbol "__declspec(dllimport) public: virtual void * __thiscall QObject::qt_metacast(char const *)" (__imp_?qt_metacast@QObject@@UAEPAXPBD@Z) C:\Hashemi\Build\New_ATM\moc_dep_manager.obj
Error 27 error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual void * __thiscall QObject::qt_metacast(char const *)" (__imp_?qt_metacast@QObject@@UAEPAXPBD@Z) referenced in function __ehhandler$?startListenSignal@IDCManager@@QAEXVQString@@@Z C:\Hashemi\Build\New_ATM\moc_idc_manager.obj
Error 28 error LNK2001: unresolved external symbol "__declspec(dllimport) public: virtual void * __thiscall QObject::qt_metacast(char const *)" (__imp_?qt_metacast@QObject@@UAEPAXPBD@Z) C:\Hashemi\Build\New_ATM\moc_pin_manager.obj
Error 29 error LNK2001: unresolved external symbol "__declspec(dllimport) public: virtual void * __thiscall QObject::qt_metacast(char const *)" (__imp_?qt_metacast@QObject@@UAEPAXPBD@Z) C:\Hashemi\Build\New_ATM\moc_rptr_manager.obj
Error 30 error LNK2001: unresolved external symbol "__declspec(dllimport) public: virtual void * __thiscall QObject::qt_metacast(char const *)" (__imp_?qt_metacast@QObject@@UAEPAXPBD@Z) C:\Hashemi\Build\New_ATM\moc_bcr_manager.obj
Error 31 error LNK2001: unresolved external symbol "__declspec(dllimport) public: virtual void * __thiscall QObject::qt_metacast(char const *)" (__imp_?qt_metacast@QObject@@UAEPAXPBD@Z) C:\Hashemi\Build\New_ATM\moc_cam_manager.obj
Error 32 error LNK2001: unresolved external symbol "__declspec(dllimport) public: virtual void * __thiscall QObject::qt_metacast(char const *)" (__imp_?qt_metacast@QObject@@UAEPAXPBD@Z) C:\Hashemi\Build\New_ATM\moc_cdm_manager.obj
Error 33 error LNK2001: unresolved external symbol "__declspec(dllimport) public: virtual void * __thiscall QObject::qt_metacast(char const *)" (__imp_?qt_metacast@QObject@@UAEPAXPBD@Z) C:\Hashemi\Build\New_ATM\moc_cim_manager.obj
Error 34 error LNK2001: unresolved external symbol "__declspec(dllimport) public: virtual void * __thiscall QObject::qt_metacast(char const *)" (__imp_?qt_metacast@QObject@@UAEPAXPBD@Z) C:\Hashemi\Build\New_ATM\moc_controller.obj
Error 35 error LNK2001: unresolved external symbol "__declspec(dllimport) public: virtual void * __thiscall QObject::qt_metacast(char const *)" (__imp_?qt_metacast@QObject@@UAEPAXPBD@Z) C:\Hashemi\Build\New_ATM\moc_user_interface.obj
Error 36 error LNK2001: unresolved external symbol "__declspec(dllimport) public: virtual void * __thiscall QObject::qt_metacast(char const *)" (__imp_?qt_metacast@QObject@@UAEPAXPBD@Z) C:\Hashemi\Build\New_ATM\moc_fit_manager.obj
其实还有很多,我只是提一些而已。
我知道unresolved external symbol 错误是关于链接器找不到库,但是当我在Linker->General->Additional Library Directories 中检查时,所有 lib 目录都已导入。
我在这里错过了什么!!!
提前致谢!!!
【问题讨论】:
-
我也遇到了这个问题,发现我正在运行 cmake 来创建 x64 构建,同时指向 x86 Qt5 dll。
标签: visual-studio-2010 qt cmake qt5.5