我之前已经问过类似这个问题的问题,但我的情况略有不同。
我有一个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)
答案 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