Qmake项目文件中是否有"win64"标识符?Qt Qmake高级文档除了unix/macx/win32之外没有提及.
到目前为止,我已尝试使用:
win32:message("using win32") win64:message("using win64") amd64:message("using amd64")
结果总是"使用win32".
我必须为x32和x64项目使用单独的项目文件,因此它们会针对正确的库进行编译吗?有没有其他方法可以识别32位和64位环境?
我是这样做的
win32 { ## Windows common build here !contains(QMAKE_TARGET.arch, x86_64) { message("x86 build") ## Windows x86 (32bit) specific build here } else { message("x86_64 build") ## Windows x64 (64bit) specific build here } }
从Qt5开始,您可以使用它QT_ARCH
来检测您的配置是32还是64.当目标是32位时,返回i386
,如果是64位目标,则其值为x86_64
.所以它可以像:
contains(QT_ARCH, i386) { message("32-bit") } else { message("64-bit") }
更新:从最近开始,Qt就可以透明,轻松地完成这项工作,无需人工麻烦:
win32-g++:contains(QMAKE_HOST.arch, x86_64):{ do something }
来源:全新的Qt Dev FAQ