Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Qmake does not support build directories below the source directory

Tags:

qt

qt4

I have created an application that compiles and runs like a charm on OS-X. I would now like to start getting it to work on Windows. To start, I copied the project to a windows machine and just tried to compile, but got this error:

:: warning: Qmake does not support build directories below the source directory.

Any ideas?

like image 465
Jay Avatar asked Oct 30 '10 23:10

Jay


4 Answers

Set the shadow build directory to some folder on the same level of your project directory:

folder/
  project/
  project-shadow-build-release/
  project-shadow-build-debug/

You can do this in the "Projects" view, via the toolbar on the left. To me, this warning was just an annoyance, a project never failed to build because of it.

like image 114
andref Avatar answered Nov 10 '22 13:11

andref


Don't copy your project.pro.user file when you are copying a project from one machine to another, or from one directory to another. When you open the project, Qt Creator will offer to create a new build directory in the proper place.

like image 40
TJM Avatar answered Nov 10 '22 13:11

TJM


Andref gave the correct answer to resolve this warning, but you may want to understand why this requirement exists.

In fact, the build directory must be at the same folder level as the project (i.e. it can't be above or below). The reason why is that the linker is called from the build directory. Hence, any relative paths to library files will be different than what you entered in your project file.

It kinda sucks. I like to put all intermediate files in their own folder. But you simply can't with qmake.

like image 7
Inverse Avatar answered Nov 10 '22 13:11

Inverse


.pro.user are generated files by Qt Creator. They are unrelated to qmake and should not be touched (and not put into a VCS for that matter)

like image 2
gre Avatar answered Nov 10 '22 13:11

gre