2016-01-20 112 views
-1

[Part of mainwindow.h file]VS2010和LNK2001錯誤Q_OBJECT宏

我使用VS2013 Express和Qt5.4.1版本。

的錯誤i'm越來越有:

錯誤14錯誤LNK2001:解析外部符號? 「市民:虛擬結構QMetaObject常量* __cdecl的MainWindow ::元對象(無效)常量」(元對象@主窗口@ @ UEBAPEBUQMetaObject @@ XZ)C:\ Users \ Raf \ Documents \ Visual Studio 2013 \ Projects \ Diploma \ Diploma \ mainwindow.obj文憑

錯誤15錯誤LNK2001:無法解析的外部符號「public:virtual void * __cdecl MainWindow: :qt_metacast(char const *)「(?qt_metacast @ MainWindow @@ UEAAPEAXPEBD @ Z)C:\ Users \ Raf \ Documents \ Visual Studio 2013 \ Projects \ Diploma \ Diploma \ mainwindow.obj文憑

錯誤16錯誤LNK2001:解析外部符號? 「市民:虛擬INT __cdecl的MainWindow :: qt_metacall(枚舉QMetaObject ::呼叫,INT,無效*。*)」(qt_metacall @主窗口@@ UEAAHW4Call @ QMetaObject @@ HPEAPEAX @ Z)C:\ Users \ Raf \ Documents \ Visual Studio 2013 \ Projects \ Diploma \ Diploma \ mainwindow.obj文憑

錯誤17錯誤LNK2001:無法解析的外部符號「public:static struct QMetaObject const MainWindow :: staticMetaObject」( ?staticMetaObject @主窗口@@ 2UQMetaObject @@ B)C:\用戶\拉夫\文檔\的Visual Studio 2013 \項目\文憑\文憑\ mainwindow.obj文憑

我看了一些類似的話題,但非他們幫助我解決了這個問題。

+1

我不覺得VS的Express版本可以安裝Qt插件,你需要的,如果你不想手動配置MOC預處理器運行在所有具有QObject的文件上。我建議你得到VS社區版和Qt插件 – PeterT

+2

請粘貼實際代碼的問題,而不是你的代碼編輯器的屏幕截圖 –

+0

@PeterT我在VS2010中得到相同的錯誤,所以... – Kristjan

回答

2

當我看到所有給出的答案後,我決定嘗試通過手動moc包含Q_OBJECT宏的.h文件來解決問題。我隨機搜索了最有效的步驟(至少對我而言)。

  1. 我的項目是在原發VS2013,但我改成了VS2010。
  2. 我跟着從這個鏈接的步驟:http://real3d.pk/forum/index.php?topic=527.0
+0

我看了看那篇文章,並且這些信息看起來很有價值。除了那個鏈接之外,你可以將它添加到你的答案嗎?但是,不要被強迫/壓迫去做!如果你不喜歡/想要/有時間,就按原樣離開。其他人可能會稍後糾正,用戶可以改善其他用戶的答案,即使我現在可以做到,但我今天很忙。關鍵是,各種網站,包括論壇,文章甚至官方文檔,有時候......簡單地蒸發。在StackOverflow上找到指向真空的僅鏈接答案並不罕見。 – quetzalcoatl