我正在尝试让qmake在CFLAGS / LFLAGS中生成不包含-arch i386
的makefile,到目前为止我还没有成功。我尝试了以下方法:
CONFIG-=x86
QMAKE_CFLAGS-="-arch i386"
以及其他几个变种。 工作的唯一一个是从x86.prf
删除mkspecs/features/mac
,但我认为这不是一个合适的解决方案。
当前的命令行看起来大致如下:
qmake -makefile -nocache CONFIG-=release CONFIG+=Debug CONFIG+=mac
CONFIG+=CMDMAKE CONFIG-=x86 CONFIG+=x64
QMAKE_MAKEFILE=makefile_mac_Debugx64 QMAKE_LFLAGS="<...>"
QMAKE_CXXFLAGS="<..>" QMAKE_CFLAGS="<...>" QTVER=4.8.4 project.pro
答案 0 :(得分:1)
我相信qmake使用PATH中提供的编译器。如果要使用x86_64编译器,请修改PATH(以及可能的INCLUDE,LIB和LIBPATH)环境变量以使x86_64编译器可用,然后运行qmake。
答案 1 :(得分:0)
暂定解决方案(需要验证一些事情来确认它,但似乎有效):
1)仅针对x64单独构建Qt,即:
./configure -platform macx-g++42 -arch x64 -debug-and-release <...>
2)使用 版本中的qmake
来生成x64 makefile。
显然仍然需要CONFIG-=x86
,但这似乎足以防止生成的makefile中出现迷路-arch i386
。