Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


¿Cómo especificar bibliotecas sólo para plataforma Android construir en el archivo .pro?

Estoy tratando de usar QtCreator (2.7.2) + QT (5.1.0) para construir una aplicación que se ejecuta en plataformas de escritorio (Linux) y móviles (Android).

Para lograr esto, necesito usar diferentes bibliotecas pre-construidas dependiendo de la plataforma de destino. ¿Cómo especifico esto en el archivo .pro?

El asistente sólo ofrece linux / mac / windows como plataforma de elección como

unix:!mac { message("* Using settings for Unix/Linux.") LIBS += -L/path/to/linux/libs } 

He intentado

 android { message("* Using settings for Android.") LIBS += -L/path/to/android/libs } 

Pero con ambos objetivos de compilación solo se ejecuta / evalúa el unix:!mac .

Así que mi pregunta es: ¿Cómo detectar el objetivo de compilación (llamado "Kits" ahora en QtCreator) en el archivo .pro y cambiar las definiciones de la biblioteca en consecuencia?

Hasta ahora sólo he descubierto cómo especificar la plataforma (que parece ser la plataforma que estoy construyendo ON y no FOR) o la variante de construcción RELEASE / DEBUG. Otras cosas que he encontrado dicen que debería prefijar el LIB+= con la plataforma de destino como win32:LIB+= . Pero de nuevo, esto no funcionará con android . Tal vez estoy usando una sintaxis equivocada para la plataforma (android 4.2 en un brazo-v7).

2 Solutions collect form web for “¿Cómo especificar bibliotecas sólo para plataforma Android construir en el archivo .pro?”

Esto funciona para mí (Qt 5.3.2)

 linux:!android { message("* Using settings for Unix/Linux.") LIBS += -L/path/to/linux/libs } android { message("* Using settings for Android.") LIBS += -L/path/to/android/libs } 

Estoy utilizando esto en un archivo. Pro, tal vez ayuda:

 unix:!macx: { android: { INCLUDEPATH += "/usr/lib/boost/boost_1_47_0" \ inkscape } !android: { INCLUDEPATH += $$(BOOST_PATH) \ inkscape } } macx: { INCLUDEPATH += "../../../../boost_1_54_0" \#$$(BOOST_PATH) \ inkscape } 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.