All I am attempting to compile a 32 bit build on a 64 bit 13.04 ubuntu.

I have installed the correct multiarch g++ libs and the ia32-libs package. I can see the .so's I need in /usr/lib/i386-linux-gnu and /lib32/

My approach so far:

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

I have noticed that I am compiled with the -m32 flag, however when it comes to link time, I see /usr/lib/x86_64-linux-gnu. This is not being set from any of the .pro files, I confirmed with a quick

grep -r 'x86_64-linux-gnu' <src>

I feel like I'm missing a flag somewhere, or maybe it's using the wrong g++ and I need to adjust the link? I can't find any information on this.


Link call:

g++ -m32 -Wl,-O1 -o output [redacted.o] -L/[some_lib_dir] -L/usr/lib/x86_64-linux-gnu -lQtCore -lpthread 
有帮助吗?

解决方案

I had to switch to Ubuntu 32 bit. I determined the problem is that qmake does not let you set the link directories for its core plugin libraries.

Other people interested in researching look into:

qmake -query
qmake -set QT_INSTALL_PATH

That seems to be the link directory being used, but I was unable to specify my own unqiue directory.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top