plugin para open license gratis full descargar creator windows qt 64bit qt4 qmake

windows - para - qt license



Identificador para la configuración de win64 en Qmake (5)

¿Hay un identificador "win64" en los archivos del proyecto Qmake? La documentación avanzada de Qt Qmake no menciona más que unix / macx / win32.

Hasta ahora he intentado usar:

win32:message("using win32") win64:message("using win64") amd64:message("using amd64")

El resultado es siempre "usar win32".

¿Debo usar un archivo de proyecto separado para proyectos x32 y x64, para que compilen contra las bibliotecas correctas? ¿Hay alguna otra forma de identificar entre entornos de 32 bits y de 64 bits?


ACTUALIZACIÓN: desde hace muy poco, Qt tiene una forma de hacerlo de forma transparente y fácil, sin molestias manuales:

win32-g++:contains(QMAKE_HOST.arch, x86_64):{ do something }

Fuente: las nuevas preguntas frecuentes de Qt Dev


Desde Qt5 puede usar QT_ARCH para detectar si su configuración es 32 o 64. Cuando el objetivo es de 32 bits, eso devuelve i386 y en el caso de un destino de 64 bits tiene el valor de x86_64 . Entonces se puede usar como:

contains(QT_ARCH, i386) { message("32-bit") } else { message("64-bit") }


He descubierto una forma de hacerlo.

Qt le permite pasar parámetros de configuración arbitrarios que puede usar para separar los objetivos.

Al tener una configuración condicional en su archivo de proyecto:

CONFIG(myX64, myX64|myX32) { LIBPATH += C:/Coding/MSSDK60A/Lib/x64 } else { LIBPATH += C:/Coding/MSSDK60A/Lib }

y pasando esa configuración personalizada a qmake con

qmake CONFIG+=myX64

obtienes el resultado deseado


Lo hago así

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 } }


No, pero puedes crear y usar una nueva mkspec, creo que qmake también define un identificador de plataforma con el nombre de la mkspec actual. ¿Por qué necesitas probar 64 bits?

Caña