我对 Qt 还很陌生,我正在使用新的诺基亚 Qt SDK 测试版,我正在空闲时间为我的诺基亚 N900 开发一个小型应用程序。
幸运的是,我能够正确设置所有内容,并在设备上运行我的应用程序。
我在学校学过 C++,所以我认为它不会那么难。
我使用 Qt Creator 作为我的 IDE,因为它不适用于 Visual Studio。
我还希望将我的应用程序移植到 Symbian,所以我已经运行了几次模拟器,并且我还为 Windows 编译以调试最邪恶的错误。(调试器在设备上无法正常工作。)
我来自.NET 背景,所以有些东西我不明白。
当我点击构建按钮时,Qt Creator 会在我的项目目录中生成一堆文件:
moc_*.cpp
文件 - 我不知道他们的目的。有人可以告诉我吗?*.o
文件 - 我假设这些是目标代码*.rss
文件 - 我不知道它们的用途,但它们绝对与 RSS 没有任何关系Makefile
和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