precio para full creator c++ qt qmake

c++ - para - qt project



Vinculación con una lib de depuración/liberación con qmake/Qt Creator (2)

En su archivo de proyecto puede hacer algo como esto

debug { LIBS += -L./libfolder -lmydebuglib.lib } release { LIBS += -L./libfolder -lmyreleaselib.lib }

El bit dentro de las llaves de depuración se usa si se ha agregado DEBUG a la variable CONFIG qmake, de manera similar, se incluye lo incluido dentro de los paréntesis de publicación si se ha agregado LIBERACIÓN a la variable CONFIG.

También puede usar "! Depurar" en lugar de "liberar" (es decir, cuando la depuración no está en la configuración)

Puede encontrar más información sobre qmake here .

Estoy usando Qt Creator y tengo un proyecto Qt GUI que depende de un proyecto de biblioteca estática de C ++. Quiero vincular la versión de lanzamiento de la aplicación GUI con la versión de lanzamiento de .lib y la versión de depuración de la aplicación GUI con el depurador .lib. Descubrí cómo agregar bibliotecas adicionales al proyecto al incluir una línea como la siguiente en mi archivo .pro:

LIBS += -L./libfolder -lmylib.lib

Pero no puedo ver cómo puedo usar un comando -L diferente para versiones de lanzamiento y depuración.

¿Hay soporte en qmake para hacer esto?


Lo normal

debug:LIBS += ... else:LIBS += ...

la solución se rompe cuando los usuarios ingenuamente usan CONFIG += debug o CONFIG += release para alternar entre compilaciones de depuración y lanzamiento (y lo hacen; nadie recuerda decir CONFIG -= release release_and_debug antes de CONFIG += debug :).

Esta es la forma canónica de aplicar el alcance a la debug :

CONFIG( debug, debug|release ) { # debug QMAKE_LIBDIR += "path/to/debug/lib" } else { # release QMAKE_LIBDIR += "path/to/release/lib" }

Cf. los qmake documentos .

EDITAR 2013-11-17 : No use -Lfoo en LIBS . La forma canónica es agregar las rutas (sin la -L ) a QMAKE_LIBDIR .