Unsolved Link to QT statically
-
is there how-to build QT binaries statically, I need to static link so i dont need to ship any QT binaries to windows, Mac-OS and linux.
-
Hi @Khalid80
Project A should link Project B library statically.
In Project B
projectB.pro file add CONFIG += staticlibIn project A
projectA.pro file add LIBS += -L$$PWD/-lprojectA -
You'll need to compile Qt yourself. Just add the "-static" flag to the "configure" command line.
-
Hi
Please be aware that using Qt as static library requires you to
1: release the source code as open source
Or
own a Qt license.Also to use static on all platforms, you will need to build Qt as static lib on all platforms.
I used this for Qt5.7 and mingw
https://wiki.qt.io/Building_a_static_Qt_for_Windows_using_MinGW -
Thanks all, is there any diff between building it on windows using MinGW and linux or Mac?
-
@Khalid80
Qt source code can be used in multiple platform to compile but the same binary or library cannot be used in all the OS.
Qt great advantage is code once, but compile for all the platforms. -
yes, but I am talking about how to build QT statically on Linux or mac-os, @mrjj mention he did it for windows using https://wiki.qt.io/Building_a_static_Qt_for_Windows_using_MinGW tutorial, is there any tutorial for Linux and macos?
-
@Khalid80
all the steps are common for all the platforms.
As specified earlier .pro file CONFIG is specified staticlib. -
@yuvaram I am talking on building the QT binaries as static libs, not linking my project statically. my project will link to QT static libraries, so I have to build all the QT statically
-
@Khalid80 so far I built QT statically using https://wiki.qt.io/Building_a_static_Qt_for_Windows_using_MinGW tutorial, and then I created a static lib (Core.a) which is linking statically to QT, after that I created a test app the link to core.a but getting Core.cpp:-1: error: undefined reference to `QArrayData::shared_null'.
-
-
I built all QT platform statically and I am linking for now to QT5Core and QT5Network