Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 9 years ago.
Improve this question
I'm trying to find a cross platform installer for small Qt applications.
It looks like the most popular (powerful ?) is BitRock Install Builder, but as the installer will be used in a school (I'm a teacher), I'm looking for a free/open source solution.
I'd like to generate an installer for a simple application on Windows, Mac and Linux OS.
For Windows and Unix, use InstallJammer.
For Mac OS X, use the tool that comes with Qt itself: macdeployqt. Read about it in more detail here. This application will add all the required frameworks and build a DMG out of your app in one call from the console.
If you have any resource files (like images, or XML files etc) that you want to distribute with your application, compile them into your application directly with the Qt resource system. This will make it easier to distribute your app, on all platforms.
I'd recommend NSIS. It's simple to use and it also integrates very well with CMake which would be very suitable as a build system for small applications.
For windows i suggest:
NSIS - http://nsis.sourceforge.net
izPack - http://izpack.org/
I guess there is no installer for all platform.
For Windows and Unix, you can use InstallJammer.
For MacOSX you need to create a dmg image. This is very simple. Read the following web page for help : http://www.wikihow.com/Make-a-DMG-File-on-a-Mac. By using apple script you can customize dmg (like an Application folder link into the dmg).
My preference for Win32 installer is NSIS.
I have successfuly used InstallJammer for Qt programs on Linux and Windows.
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
I use to work with Appium for mobile automation, now i want to use the same logic of Appium but for windows desktop application.
Is there any automation tool similar to Appium but to test desktop windows application?
(Other than RIDE and AutoIt) i 'm using ride with Sikuli library but i find that Is not as good as Appium which offer a many locations strategies by name,by id, by xpath ... there is no good strategy to locate elements only by image using SikuliLibrary or mouse click position using AutoItLibrary so that if i change from Windows 7 to 10 image will not respond to our scripts ....
Sikuli and Appium are two different types of application and test approaches. This is well beyond the scope of SO and I urge you to look elsewhere for that type of information.
Within the Robot Framework community a number of official/common libraries exist. These are well known and easily found. However, there are also a large group of libraries that are not found in the Python Repository but freely available on (example) GitHub. On top of this there are the plain Python modules that can be directly imported and whose methods are then usable as keywords. If your favorite application has a Python interface or module, then creating a Robot Framework Library is not difficult.
Given the specific topic of Windows Desktop Application testing with Robot Framework my first search result lead me to the Official Python Testing Tools Taxonomy Page for testing and it's GUI testing section. From this list the PyWinAuto project shows most promise as it supports windows and is open source. A Robot Framework Library robotframework-winbot exists, and still works but has not been updated in a while.
As you mentioned Appium, I've also taken a look there and although the Robot Framework Library keyword documentation doesn't seems to support Windows application, Appium itself has recently released some support for Windows Application UI Testing. This is based on the fairly new Microsoft Windows Application Driver. Python sypport is available, as there are Python examples in the Python Samples section, but no specific Robot Framework Library.
There may be other options, but I recommend you try these first and raise specific questions when you encounter issues.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 7 years ago.
Improve this question
Friends I am in dilemma.
None of the threads explain if [and how ] i can migrate an application from Qt free version to Qt commercial.
Me and my friends started developing an application using Qt[freely available] for learning .
We have created a good application and think we can sell it for pocket money.
The application does not modify any of the Qt source[we are not that good programmers :P] and we dynamically linked also.
I want to know how can i migrate it to Qt Commercial [since it protects from giving my source code].
First things first
a) can i migrate an application[not distributed in any form] written in Qt free version to Qt commercial.
b) will i have to re-write the application again in Qt commercial version or i can use my source files from old project and migrate to new Qt commercial project.
c) are there any API difference between Qt commercial libraries and Qt LGPL libraries that will make porting difficult/impossible. we still plan to have dynamic linking
d) i hope all Qt LGPL features are supported in Qt Commercial.
e) is there any complex legal thing i need to know. i only understand with LGPL we have to distribute code / object code + dynamic linking but in Qt commercial we dont have to.
If it is possible and legal then only we will buy Commercial License[expensive huh] ?
Why don't you go to qt.digia.com click Try&Buy and then Download and Install Qt Enterprise.
You'll see if you can port it before actually buying a license.
And for licensing questions I would suggest to contact then directly. I guess they would give you all the answers you need and try to help you with any problems you run in to.
The core is basically the same. So you can compile your existing code by enterprise version with no change. The only reason for the commercial license is if you need commercial support or you are shipping on an embedded platform like a cellphone.
Qt Enterprise has some more features and tools like Charts, Qt purchasing, Qt Quick Compiler, Boot2Qt and some others.
I see two really big issues:
Not understanding the terms of the commercial license you plan on using.
Not understanding the terms of the LGPL you develop under: they are nothing like what you state.
The terms of the commercial Qt license either expressly prohibit what you have done, or it is implied/understood that what you did is a NO-NO. Your project is now legally tainted and you can't ever apply the commercial license to it unless you buy the licenses for all the developers that participated in the development. They'd go broke long ago if everyone was as "clever" as you are.
The LGPL does not force you to release your source code. All it forces you to do is to let the end user re-link with binary-compatible Qt of their choice, and for you to allow access to the sources of Qt you used. If you use a release Qt, all you need to provide, on request, is the .zip of the Qt version(s) you redistribute. Since you link dynamically with Qt, there's nothing further you need to do here.
The only binary differences between commercial and open source Qt are in the license markers. There's literally nothing you need to do to link your code with a commercial Qt. Just swap out the DLLs and you're done.
I'm not a lawyer.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 7 years ago.
Improve this question
I have the intention to develop a commercial, closed-source application for mobile phones.
I've choosen to start with Symbian OS, as I've got a Symbian phone as
well, and I really like it.
I would like to adopt Qt, because it's actually the way suggested by
Nokia, and because I know I could port my app quite easily to ios and
other platforms by using the Qt libraries.
So, having to make the choose between Qt and C/C++/Carbide
I have one compelling question:
do I have to pay to obtain a license for using the Qt to develop a
commercial closed-source program?
Truly, I won't to pay for using a development tool, as I'm not sure I
could return on my investment. Besides, I have also to pay to open an
account for hosting my app on the stores.
Please feel free to correct my English if it sounds bad. Thnx.
No, you don't have to pay for the Qt framework to build commercial or proprietary applications. GNU LGPL version 2.1 allows this, and Qt is licensed under this licence.
Read about the Qt licensing here.
Extract:
This version of Qt is appropriate for the development of Qt applications (proprietary or open source) provided you can comply with the terms and conditions contained in the GNU LGPL version 2.1.
Note that LGPL still has some requirements. For example, if you improve the Qt sources to provide your application a better performance or to fix a bug, you have to make the source code of your modifications available to anybody you give (sell; distribute) your application to. As this is not a bad idea per se, one may want to keep such changes private and use it as a competitive advantage.
See also FAQ on Qt licensing (thanks to Claudio for the comments).
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 7 years ago.
Improve this question
My company uses Qt 4.7.4 under LGPL for a commercial proprietary application.
We had to put two changes into the source code of Qt and re-build its DLLs to resolve some issues. What should we now do under LGPL? Are we to expose our source code? or do we just need to expose the Qt files we've changed? What is the nature of this "exposure"? posting them on a website?
how does that work?
LGPL is mainly meant for libraries and means that you can use Qt with "closed-source" applications, i.e. ones you do not have to divulge their source code.
Would Qt be GPL, you would have had to open-source your own app, too.
Now, LGPL also means that if you modify the sources of the library, you have to make these modifications open and public.
How this is done is not fixed in stone. If your modifications is of general interest, you should submit a patch to Code Review. see Contribute to Qt for more info.
If it is very specific to your needs, publishing the patch on your website should be sufficient.
Nothing has really changed, the Qt is still LGPL, your app is still proprietary
You have to make the modified version of the Qt sources available. The strict interpretation by GNU is that you must host your own copy of the Qt source tree that you you modified and make that available.
A more useful one, if these are just small fixes, is that you make patches to the Qt tree available. Ideally you would contribute these fixes back to the Qt source and have them adopted - which saves you from the effort of reapplying them to subsequent versions and makes it a lot easier for your users.
Hopefully with Qt moving to a more open development following the decline of Nokia this will become easier.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 7 years ago.
Improve this question
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)