Important: Please read the Qt Code of Conduct -

Problems with subdirs project since QtCreator 4.1.0?

  • I have a subdirs project that was working fine before the upgrade to 4.1.0.

    It is a simple project with two subdirs. One is a static library, and the other is a simple console app that links to the library.

    When I try to build, I get an error:

    :-1: error: No rule to make target '/home/punisher/local/src/build-metadata-extractor-Desktop_Qt_5_7_0_GCC_64bit-Debug/console-test/../mdextractor/libmdextractor.a', needed by 'console-test'.  Stop.

    In the message, 'mdextractor' is the library, and 'console-test' is the executable.

    First problem is that it seems to insist on moving the build directory up one level. My project directory is at:


    Previous to 4.1.0, the build for both subprojects was created as a subdirectory of 'metadata-extractor'. Now it wants to up one level (and note, it still doesn't build).

    In this project, I have two Kits: One default GCC, and the other is for the Intel compiler. Neither kit will build; they both get the same error.

    If I create a new subdirs project from scratch in 4.1.0, using the above structure, I get the following behavior:

    • Build directory up one level (i.e. outside of) the project source

    • The GCC Kit builds.

    • The Intel Kit does NOT build (it gives the 'No rule to make target...' error).

    BTW it seems like the .pro.user file plays into this somehow. This file is not tracked in my git repository, and this entire thing actually started when I cloned the repo (minus the .pro.user file), and opened the .pro file with 4.1.0. Still, it's strange that even a new-from-scratch subdirs project has build problems with the Intel Kit in 4.1.0.

    Is anyone else seeing strange/changing behavior with subdirs projects since 4.1.0?


Log in to reply