No QtTools (lupdate/linguist/lrelease) when built as shared libraries

So I’ve built Qt from source and used it successfully in the last year or so.
Some time ago I turned my attention to multilanguage support and learned about Qt’s tools: linguist.exe, lupdate.exe and lrelease.exe.

Strangely, those files only existed in the “bin” folder of the statically built version, not when I built them as -shared libraries (note: This text applies to Qt 5.2.1 only, for now).

After some reading, but without a definite answer, I rebuilt the framework with the configure option -make tools, but that didn’t make any difference.

Second attempt: Built it like before (without -make tools), then tried to build the QtTools from sources in a following step. Again, no dice: Compilation errors (fixed by hand), but then also link errors. I didn’t feel like meddling with the setup too much would be a good solution.

Try number three: Rebuild Qt with configure -make tools again, and then building qttools by hand — that worked!


  1. Prepare the Qt build as before, but this time pass -make tools to configure and then build Qt.

  2. In the Visual Studio Command Prompt change to the QtTools source directory; in my case C:\devel\ext\Qt\5.2.1\qttools.

  3. There, generate the Makefile from Qt’s Project file by hand:
    (Path to the built binaries)\qmake.exe

  4. Then build and install the QtTools: nmake and nmake install.

I don’t know what the reason for this complication and extra work is and I hope that in future version it won’t be necessary, but for now it’s good enough for me, as a stop-gap.