We have a commercial windows application making use of Qt.
I'll be very simplistic in my description as I must have a clear answer.
At compile time we use Qt *.lib files
We have a result of our compilation is an *.exe file, we wrap into an installer and ship to clients. This *.exe files depends on *.DLL files in Qt.
at runtime the *.dll files of Qt are used
My questions are:
- Can I legally bundle the Qt *.dll files in my installer?
- Can I legally bundle my final *.exe files even if it's compilation/linkage depends on Qt *.lib files?
Both are allowed. You should pay particular attention to section 6 of LGPL 2.1. You have to allow private modification and reverse engineering for your closed source app. You probably want option 6b, which in your case just means users can install modified QT DLLs. IANAL.
1) is can I legally bundle the QT *.dll files in my installer?
This is the recommended solution - it allows the user to upgrade to later versions of Qt easily.
2) can I legally bundle my final *.EXE files even if it's compilation/linkage depends on QT *.LIB files
Do you mean you use the Qt stub .libs to build a dll version or are you statically linking an exe ( no Qt DLLs required)? It must be possible to relink Qt. If you are statically linking Qt this probably means you have to make object or raw library versions of your app available (depends on your OS)
来源:https://stackoverflow.com/questions/3024547/qt-lgpl-commercial-closed-source-application