簡體   English   中英

Qt告訴我我的SLOT不存在,但請整理一下,使其不再抱怨

[英]Qt tells me that my SLOT doesnt exist, but with a make clean, make it doesnt complain anymore

當我從SVN下載新的副本時,make運行我的程序,Qt告訴我,我的一個插槽不起作用,但使用方便的make clean然后make,似乎可以解決問題。 我繼續在PC上的代碼中進行更改,該消息不再顯示。

C ++ Qt 4.6 gcc

有人遇到過這個問題嗎? 和想法?

謝謝

在構建時,Qt會創建一整套有關Q_OBJECT類的元數據。 元數據存儲在“ moc”文件中,其中一個可能與您的C ++代碼不一致。 將中間構建階段存儲在版本控制系統中通常是一個壞主意。 我建議運行make clean ,然后查看您的VCS找出刪除了哪些文件,然后提交結果。

在svn中:

make clean
svn st     # you should see some files deleted
svn rm <all the deleted files that svn st showed>
svn ci -m "Cleaned out intermediate build stages"

我猜? 存儲庫中有一個文件會被make clean刪除,但不會被make重新創建(可能是因為不再需要),並且該文件中的某些文件引起了問題。

如果將.moc文件存儲在存儲庫中(不應這樣做),則它們可能與現實不同步。 make includes解決問題嗎?

make clean時會刪除所有什么? 重新制作項目后,那里有什么? 所有清理過的文件都應重新制作。 如果不是的話,就像Anon。 說,其中之一可能正在做奇怪的事情。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM