我有一個工作正常的動態庫,並且我想在其中使用QObject。在包含「qobject.h」頭文件後,我編譯並添加了evrything。但是當我嘗試聲明一個QObject時,編譯器總是給我一個「找不到標識符」的錯誤。我嘗試過QObject類的炫耀,它沒有幫助。這很奇怪,因爲當我在我的dll中使用Qt時,visual studio的intellisense正在工作(例如:當我聲明一個QObject時,visual sdio顯示我可用於QObject的函數)。在動態庫中使用Qt有什麼特別之處嗎?我現在需要使用QObject來編譯它嗎?在動態庫中鏈接Qt
感謝您的幫助
戴夫
編輯:問題似乎只出現後我包括stdafx.h中。如果我試圖在Stdafx.h後包含Qt頭文件,我的庫無法編譯,給我語法錯誤。如果在包含Stdafx.h之前使用Qt引用,它會編譯並運行良好,但是這種方法沒用,因爲我無法在現有代碼中使用Qt引用。
1>c:\users\dave\documents\visual studio 2008\projects\frogger\froggerdll\ftclient.cpp(47) : error C2653: 'QWidget' : is not a class or namespace name
1>c:\users\dave\documents\visual studio 2008\projects\frogger\froggerdll\ftclient.cpp(47) : error C3861: 'find': identifier not found
所討論的行是QWidget的::找到(HWND); 和我包括QWidget
好吧,我可以繞過它,通過包括他們在正確的順序,但然後我不能使用QObject,所以它不能真正解決我的問題。我會嘗試安裝整合。有什麼特別的步驟需要採取,還是應該在那之後編譯好? – 2009-07-18 17:46:14