2015-11-22 61 views
0

問候解析的外部符號使用Qt 5.5.1和Visual Studio 2010

我已經應用與QT 4.8.5Visual Studio 2008製造。出於某種原因,我需要更新我的QT5.5.1和我的Visual Studio2010。我下載了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 " ([email protected]@@[email protected]@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 " ([email protected]@@[email protected]@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 " ([email protected]@@[email protected]@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 " ([email protected]@@[email protected]@XZ) referenced in function "public: virtual struct QMetaObject const * __thiscall RPTRManager::metaObject(void)const " ([email protected]@@[email protected]@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 " ([email protected]@@[email protected]@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 " ([email protected]@@[email protected]@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 " ([email protected]@@[email protected]@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 " ([email protected]@@[email protected]@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 " ([email protected]@@[email protected]@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 " ([email protected]@@[email protected]@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 " ([email protected]@@[email protected]@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 " ([email protected]@@[email protected]@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 " ([email protected]@@[email protected]@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 " ([email protected]@@[email protected]@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 " ([email protected]@@[email protected]@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 " ([email protected]@@[email protected]@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 " ([email protected]@@[email protected]@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 " ([email protected]@@[email protected]@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 " ([email protected]@@[email protected]@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 *)" ([email protected]@@[email protected]) 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 *)" (__[email protected]@@[email protected]) 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 *)" ([email protected]@@[email protected]) 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 *)" ([email protected]@@[email protected]) 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 *)" ([email protected]@@[email protected]) 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 *)" ([email protected]@@[email protected]) 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 *)" ([email protected]@@[email protected]) 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 *)" ([email protected]@@[email protected]) referenced in function [email protected]@@[email protected]@@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 *)" ([email protected]@@[email protected]) 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 *)" ([email protected]@@[email protected]) 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 *)" ([email protected]@@[email protected]) 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 *)" ([email protected]@@[email protected]) 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 *)" ([email protected]@@[email protected]) 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 *)" ([email protected]@@[email protected]) 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 *)" ([email protected]@@[email protected]) 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 *)" ([email protected]@@[email protected]) 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 *)" ([email protected]@@[email protected]) C:\Hashemi\Build\New_ATM\moc_fit_manager.obj 

居然還有更多的事情,我只是提一些。

我知道unresolved external symbol錯誤是關於鏈接器無法找到庫,但當我檢查Linker->General->Additional Library Directories,所有lib目錄都被導入。

我在這裏錯過了什麼!

在此先感謝!

回答

0

我發現了這個問題。

之前QT5我在我的CMakeLists.txt中使用以下行。

FIND_PACKAGE(Qt5 REQUIRED) 
... 
TARGET_LINK_LIBRARIES(project-name 
${QT_LIBRARIES} 
...) 

With QT5我需要將它們更改爲以下形式。

find_package(Qt5 REQUIRED COMPONENTS Core Gui Network Sql WebKit Widgets Multimedia) 
... 
TARGET_LINK_LIBRARIES(project-name 
    Qt5::Widgets Qt5::Core Qt5::Gui Qt5::Network Qt5::Sql Qt5::WebKit Qt5::Multimedia 
...) 
相關問題