2012-05-29 25 views
4

我試圖設置Qt Win遷移框架以在現有的基於MFC的應用程序中使用Qt。我想將該框架用作庫,所以我在qtwinmigrate/buildlib/buildlib.pro文件上運行qmake以創建Visual Studio vcxproj項目文件。我將該框架構建爲一個dll/lib,並將這些標題放在一個公共的include目錄中。在我的MFC項目中,我添加了Qt遷移框架的lib作爲依賴項,在適當的地方包含了頭文件,並添加了代碼來測試框架。一切編譯罰款,但後來我得到一個鏈接錯誤:Qt Win遷移框架的鏈接錯誤:未解決的符號QWinWidget :: staticMetaObject

error LNK2001: unresolved external symbol "public: static struct QMetaObject const QWinWidget::staticMetaObject" ([email protected]@@[email protected]@B)

回答

5

根據this forum post,預處理器定義必須添加到已使用Qt贏遷移框架作爲庫中的MFC項目。只需添加

QT_QTWINMIGRATE_IMPORT

項目設置Properties -> C/C++ -> Preprocessor -> Preprocessor Definitions下。

要了解更多詳細信息,請參閱this blog post

相關問題