我對Qt相當陌生,而且我正在使用新的Nokia Qt SDK測試版,並且正在努力在我的空閒時間爲我的諾基亞N900開發一個小型應用程序。
幸運的是,我能夠正確設置所有內容,並且還可以在設備上運行我的應用。Qt Creator自動生成的垃圾(文件)的用途是什麼?我怎樣才能馴服它們?
我在學校學過C++,所以我覺得它不會那麼困難。
我使用Qt Creator作爲我的IDE,因爲它不適用於Visual Studio。
我也希望將我的應用程序移植到Symbian上,所以我已經運行了仿真器幾次,並且還編譯了Windows以調試最惡劣的錯誤。 (調試器在設備上無法正常工作。)
我來自.NET背景,所以有些東西我不明白。
當我打的生成按鈕,Qt Creator中生成一堆文件到我的項目目錄:
moc_*.cpp
文件 - 我不知道他們的目的。有人能告訴我嗎?*.o
文件 - 我認爲這些都是目標代碼*.rss
文件 - 我不知道他們的目的,但他們絕對沒有任何與RSSMakefile
和Makefile.Debug
- 我不知道AppName
(沒有擴展名) - Maemo的可執行文件和AppName.sis
- Symbian的可執行文件,我猜?AppName.loc
- 我不知道AppName_installer.pkg
和AppName_template.pkg
- 我不知道qrc_Resources.cpp
- 我想這是對我的Qt資源
(其中AppName
是有問題的應用程序的名稱)
我注意到這些文件可以安全地刪除,Qt Creator只是重新生成它們。
問題是他們污染我的源代碼目錄。特別是因爲我使用版本控制,並且如果它們可以重新生成,那麼將它們上傳到SVN是毫無意義的。
那麼,有人可以告訴我這些文件的確切目的是什麼嗎?我該如何讓Qt Creator將它們放到另一個目錄中?
編輯:
看來,我從這個問題的答案學到的比我想我會的。 :)
非常感謝所有幫助我的人。我給每個人都贊成,因爲我可以從每個答案中學到新的東西。
事實上,Rob推薦的似乎是最方便的解決方案,但我標記了Kotti的答案,因爲他向我提供了關於Qt構建機制如何工作的最佳解釋。
解決辦法:
看來,無論是Maemo的,也不是Symbian的工具鏈支持影子建立自,所以我用這些在我的項目文件,以解決情況:
DESTDIR = ./NoSVN
OBJECTS_DIR = ./NoSVN
MOC_DIR = ./NoSVN
RCC_DIR = ./NoSVN
UI_HEADERS_DIR = ./NoSVN
它可能需要一些研究,但你應該能夠找出一種方法來使這些文件到別處。 (我們正在構建Qt應用程序,但不使用QMake,所以我不能告訴你具體情況;我只知道這些工具會將文件放在任何你想要的地方。) – 2010-05-25 00:00:20
@ dash-tom-bang - 我很好奇,如果不是QMake,你使用什麼工具編譯和構建? – Venemo 2010-05-26 14:12:46
從Jam派生的內部工具。 – 2010-05-26 15:43:35