# Possible Bug In QMake

• All I am trying to compile a 32 bit application in a 64 bit environment, however QT is forcing the use of the 64 bit libraries during linking time. I am positive I have the 32 bit libraries, and I am using the QMAKESPEC=linux-g++-32. Could anyone offer any advice?

System Information:
QT 4.8
qmake 2.01a
Ubuntu 13.04
g++ 4.7.3

Installed Libraries:

• ia32-libs
• lib32stdc++6
• g++-multilib
• /usr/lib/i386-linux-gnu contains all Qt Libraries (QtCore, QtGui ... etc)

Commands:
@export QMAKESPEC=linux-g++-32
qmake myproject.pro
make@

Then (Notice the wrong directory):
@g++ -m32 -Wl,-O1 -o output [redacted.o] -L/[some_lib_dir] -L/usr/lib/x86_64-linux-gnu -lQtCore -lpthread@

I believe that Qmake is using QT_INSTALL_LIBS, since

@qmake -query QT_INSTALL_LIBS@

returns /usr/lib/x86_64-linux-gnu

@qmake -set QT_INSTALL_LIBS /usr/lib/i386-linux-gnu@

won't over write it though!

• Hi and welcome to devnet,

Since you have both installed, you should call the 32 bit Qt qmake. It should be something like:

@/usr/lib/i386-linux-gnu/qt4/bin/qmake@

And you should be good to go

• Hey SGaist thank you for the response.

I thought that might be the situation but I couldn't find another qmake binary. Perhaps I'm missing a package? Any suggestions? I'll look more Monday.

Also I still want to point out that this shouldn't be the fix if we're using qmakespec files (which I think are similar to cmake toolchain files). In other words qmake should take its directories from the qmake spec file.

• Look for qt4-qmake for i386

IIRC, the difference between the two mkspecs are essentially build flags not paths (some of them are hard-coded in qmake).

• That package does not exist in my repos, I'll see if I can find a ppa