c++ qt scope qmake

c++ - Valores de alcance del compilador en qmake



qt scope (2)

qmake proporciona varios ámbitos de plataforma incorporados, lo que permite que un archivo de proyecto realice diferentes operaciones dependiendo de la plataforma actual:

win32 { ... } unix { ... }

Todas las especificaciones de plataforma en el directorio mkspecs también se pueden usar para probar varias combinaciones de plataforma / compilador, por ej.

linux-g++ { ... } win32-g++ { ... } win32-msvc2003 { ... }

Sin embargo, parece que no puedo encontrar la forma de probar solo el compilador (sin el sistema operativo)

#This does not work g++ { ... } msvc { ... }

¿Hay alguna manera de hacerlo sin tener que enumerar todas las combinaciones ( linux-g++ | win32-g++ | cygwin-g++ | ... {} )? Si esto no es posible, ¿hay una buena razón?


Estos ámbitos de plataforma integrados se basan en la especificación qmake en el directorio de instalación de Qt. La forma en que se resuelven los ámbitos de la plataforma no está documentada, pero parece que qmake usa expresiones regulares internamente para determinar si el alcance se aplica a las mkspecs actuales.

Solo se habilita la coincidencia de comodines (es decir, ? , * , [] )

Tenga en cuenta que dentro de qmake unix , win32 , macx tienen varios significados, como palabras clave mágicas y como expresiones regulares para que coincidan.


Puedes hacerlo así:

*-g++ { ... } win32-msvc* { ... }