[Qt-creator] Theory of Operation question concerning configurations

Coda Highland chighland at gmail.com
Wed May 30 21:14:35 CEST 2012


On Wed, May 30, 2012 at 2:12 PM, Jonathan S. Shapiro <shap at eros-os.org> wrote:
> I am uncertain what the relationship is between CONFIG values in the QMake
> file and build settings in QtCreator. I see that each build setting sets a
> CONFIG value and an output path. I also see that convention that
> modifications to CONFIG inside the QMake file are always done with += or -=
> in order to preserve the value that was passed at the command line.
>
> My confusion started when I tried to introduce CONFIG modifications of my
> own in the QMake file. I am working on a "foreign" (non-Qt) library, and I
> want to generate *both* shared and static library builds. But if I put
>
>    CONFIG += staticlib
>    CONFIG += dll
>
> into the Makefile, only the dll build seems to happen. This is probably a
> result of an obvious error on my part, but the documentation for the various
> CONFIG options is pretty minimal, so I'm not sure what config options can
> safely be combined.
>
> Part of my problem, clearly, is that I don't understand QMake well enough.
>
> For now, I can add new build settings in QtCreator, and use that to make
> forward progress, but I really want this to work from the command line as
> well.
>
> I guess my question is: what is the "QMake" way to accomplish what I am
> trying to do? And once I understand that, what is the proper QtCreator setup
> so that debugging will be possible?
>
> If this is not the right list for this question, I apologize. The question
> seems to stand at the interaction boundary between QtCreator and QMake, so
> it isn't immediately clear where it should go.
>
>
> Thanks
>
> sap

To generate both static and dynamic libs you will need two .pro files,
as they are two targets. I would suggest a SUBDIRS project that first
builds a project that compiles the static lib, and then builds a
project links that into the dynamic one.

The order of operations is "last specified flag takes precedence".

/s/ Adam



More information about the Qt-creator mailing list