Both debug and release settings generates debug/ and release/ sub-folder (total 4 folders), why not just two?

  • [ Related post: "debug_and_release: how to get rid of autogenerated debug/release folders": ]

    I am compiling/debugging C++ on PC Desktop. My folder structure is like this:

    @+ ProjectHome
    + build
    + debug
    + debug <== created by QtCreator
    + release <== created by QtCreator
    + release
    + debug <== created by QtCreator
    + release <== created by QtCreator@

    And my settings ask QtCreator to do shadow builds: The folder to build for debug settings is set to ProjectHome/build/debug, while the folder to build for release settings is set to ProjectHome/build/release.

    My question is that, why QtCreator creates all four sub-folders, while only two are used? In my situation, ProjectHome/build/release/debug/ is empty after build, and ProjectHome/build/debug/release is also empty after build. Only the other two of them are non-empty containing binaries (executable and object files) after build.

    Why QtCreator need those 4 sub-folders? Can anyone explain this for me? Thanks in advance.

  • Moderators

    As far as I know, this is one of the brilliant ideas Microsoft Visual C++ compiler has. Qt has no influnece over this policy. Other platforms and compilers do not behave like this.

  • Lifetime Qt Champion


    From the looks of it you are using Visual Studio package. It's Microsoft folder layout for building applications/libraries and there's nothing you can do about that.

    [edit: That's synchronisation :D]

  • Not Microsoft compiler. I am using MinGW gcc/g++.

  • I avoid this problem by redefining build directories. For example, X:\Project\build\test. No debug or release name followed.

Log in to reply