# Qmake INCLUDEPATH problem

• Hi,

i am working with Qt on Windows 7. I have a build.bat where all necessary steps are called (qmake, nmake,...).
In the build.bat i set a path to the include-directory of the JDK:

set JDK="C:\Program Files\Java\jdk1.7.0_02"
(in the batch file there is only one backslash as seperator, i dont know why this editor puts in two"

in my .pro-file i want to pass this path to INCLUDEPATH with:

INCLUDEPATH += \$\$(JDK)/include

and:

INCLUDEPATH += \$\$(JDK)/include/win32

I additionaly use Visual Studio 2010. Opening the pro-File creates a Project, but the include path are wrong. It only shows:

"/include/win32". The string behind \$\$(JDK) is gone. I tried everything i could think of till now:

t = \$\$quote(\$\$quote(\$\$replace(jdk, \\, /)/include/win32))
#message(\$\$t)
INCLUDEPATH += \$\$t

but this does not work either. The strange thing is, messaging \$\$t in this case shows:

"C:/Program Files/Java/jdk1.7.0_02"/include/win32
(I cannot get rid of the spaces in this string)

i even tried to \$\$replace the quotations, but that did not work.
Any suggestions would be very appreciated!

Thanks,

SirSmackalot

• It might be different on windows (I doubt it), but on GNU/Linux, variables are denoted with \$\${}, not \$\$() for example:
@
INCLUDEPATH += \$\${JDK}/include
@

• And as you have spaces in the path, you need to put the result between quotes:

@
INCLUDEPATH += "\$\${JDK}/include"
INCLUDEPATH += "\$\${JDK}/include/win32"
@

• The qmake-docs say round brackets are right. "{" don`t work for me here.
That does not work. In VS the resulting path is still just "/include" and "/include/win32".
The funny thing is that message(\$\$INCLUDEPATH) reports this:
C:\Program Files\Java\jdk1.7.0_02/include

In VS the first part of the string is gone. Weird. Replacing the "" with "/" does not change a thing.

Thanks, but seems like a bug to me somewhere.

• ah, correct. Environment vars are accessed with \$\$(xxx) and qmake variables with \$\${xxx}.