在64位Linux OS上编译32位Qt应用程序

时间:2017-08-22 14:52:48

标签: qt

我之前已经问过类似这个问题的问题,但我的情况略有不同。

我有一个64位操作系统。我安装了i686和x86_64 qt开发包。我想编译一个32位二进制文​​件。我添加了

QMAKE_CXXFLAGS += -m32

到.pro文件。但是(使用i686包中的qmake)生成的Makefile仍然使用64位引用,即

CFLAGS   = -m32 [...] -m64 [...]
INCPATH  = -I/usr/lib64/qt-3.3/mkspecs/default
Makefile: MyApp.pro  /usr/lib64/qt-3.3/mkspecs/default/qmake.conf /usr/lib64/qt-3.3/lib/libqt-mt.prl

我做错了什么? (Oracle Linux 6.9,Qt 3.3,gcc 4.4.7)

1 个答案:

答案 0 :(得分:2)

很长一段时间后,我偶然发现了答案。我不得不从

更改一组环境变量
QTDIR=/usr/lib64/qt-3.3
QTINC=/usr/lib64/qt-3.3/include
QTLIB=/usr/lib64/qt-3.3/lib

QTDIR=/usr/lib/qt-3.3
QTINC=/usr/lib/qt-3.3/include
QTLIB=/usr/lib/qt-3.3/lib

并且(因为我使用的是x86_64 gcc软件包)将以下内容添加到我的.pro文件中

QMAKE_LFLAGS += -m32
QMAKE_CXXFLAGS += -m32