不是您问题的完整答案,而只是问题的一部分:)此外,它可以在谷歌上搜索。
猜猜如果你用C++开发,你应该知道什么是Makefile
代表。另外我认为.loc
文件通常是具有本地化字符串/内容的文件。
(source: thelins.se http://thelins.se/learnqt/wp-content/uploads/qt-buildsystem.png)
将 C++ 构建系统与 Qt 构建系统进行比较,您可以看到 C++ 构建系统(灰色框)未进行修改。我们仍然在这里构建 C++ 代码。但是,我们添加了更多源和标头。这里涉及到三个代码生成器:
元对象编译器(图中的 moc)– 元对象编译器获取以 Q_OBJECT 宏开头的所有类并生成 moc_*.cpp C++ 源文件。该文件包含有关被 moc 的类的信息,例如类名、继承树等,还包含信号的实现。这意味着当您发出信号时,您实际上调用了 moc 生成的函数。
用户界面编译器(图中的 uic)– 用户界面编译器从 Designer 获取设计并创建头文件。然后,这些头文件会像往常一样包含到源文件中,从而可以调用 setupUi 来实例化用户界面设计。
Qt 资源编译器(图中的 rcc)– 资源编译器是我们还没有讨论过的。它可以将图像、文本文件等嵌入到可执行文件中,但仍然可以将它们作为文件进行访问。我们稍后会看到这个,我只是想将它包含在它所属的图片中。
我希望这个插图能够阐明 Qt 到底做了什么来向 C++ 添加新的好关键字。如果您好奇 - 请随意阅读一些生成的文件。只是不要更改它们 - 每次构建应用程序时它们都会重新生成。
如果您使用 QtCreator,则会在项目目录的 debug 和release 子目录中生成 moc 文件。 uic 文件存储在项目目录的根目录中。 rcc 文件通常很无聊,但我确信您可以在项目目录层次结构中的某个位置找到它们。
编辑:您不必将这些文件包含到 SVN 中。这与提交几乎是一样的废话.ncb
, .pdb
和其他临时文件。每次您在 Qt 应用程序中更改某些内容时,这些临时文件都会重新生成作为更改的更新,因此将它们提交到 SVN 是没有意义的。