Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/154.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ CMake和Qt:moc文件/清理规则的目录_C++_Qt_Makefile_Cmake - Fatal编程技术网

C++ CMake和Qt:moc文件/清理规则的目录

C++ CMake和Qt:moc文件/清理规则的目录,c++,qt,makefile,cmake,C++,Qt,Makefile,Cmake,我发现CMake有点难以理解,而且我目前在目录方面有一个问题 例如,假设我有以下目录组织: project/ project/bin project/obj project/src project/src/main.cpp project/src/mainwindow.cpp project/src/mainwindow.h project/CMakeLists.txt 该项目使用Qt 4.8和CMake 2.8.8。 我想做以下几件事: 在所有编译开始时,将清除以前的所有临时文件(.o和.

我发现CMake有点难以理解,而且我目前在目录方面有一个问题

例如,假设我有以下目录组织:

project/
project/bin
project/obj
project/src
project/src/main.cpp
project/src/mainwindow.cpp
project/src/mainwindow.h
project/CMakeLists.txt
该项目使用Qt 4.8和CMake 2.8.8。 我想做以下几件事:

  • 在所有编译开始时,将清除以前的所有临时文件(.o和.moc)

  • 所有的.o和.moc都放在obj目录中

  • 可执行文件被放在垃圾箱中

最简单的CMakeLists.txt是什么


非常感谢。

建议使用源代码外版本,其中所有生成的文件都位于源文件夹之外。有什么理由不这样做吗?

为什么要在开始时清理所有临时文件?现代建筑系统的一大优势是,它们只重建已经改变的(和依赖的)…这只是在开发阶段。我的应用程序不是很大,我个人更喜欢每次都重新编译。这只是基于我在以前程序开发的第一阶段遇到的一些问题而提出的个人建议。我的源文件位于project/src中,我希望生成的文件(.obj/.moc)位于project/obj(源文件夹外…),可执行文件位于project/bin中