Tum*_*oid 27 windows 64-bit qt qmake qt4
Qmake项目文件中是否有"win64"标识符?Qt Qmake高级文档除了unix/macx/win32之外没有提及.
到目前为止,我已尝试使用:
win32:message("using win32")
win64:message("using win64")
amd64:message("using amd64")
Run Code Online (Sandbox Code Playgroud)
结果总是"使用win32".
我必须为x32和x64项目使用单独的项目文件,因此它们会针对正确的库进行编译吗?有没有其他方法可以识别32位和64位环境?
小智 30
我是这样做的
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
}
}
Run Code Online (Sandbox Code Playgroud)
Nej*_*jat 24
从Qt5开始,您可以使用它QT_ARCH来检测您的配置是32还是64.当目标是32位时,返回i386,如果是64位目标,则其值为x86_64.所以它可以像:
contains(QT_ARCH, i386) {
message("32-bit")
} else {
message("64-bit")
}
Run Code Online (Sandbox Code Playgroud)
更新:从最近开始,Qt就可以透明,轻松地完成这项工作,无需人工麻烦:
win32-g++:contains(QMAKE_HOST.arch, x86_64):{
do something
}
Run Code Online (Sandbox Code Playgroud)