![](/img/trans.png)
[英]Slot doesnt exist in connect function in C++/Qt project? (already reran make)
[英]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.