I don't really understand how this is different to the question you asked in your earlier thread but I didn't get a chance to answer so here's my suggestion.
You just run windeployqt and it copies all the files you need to a directory. You can zip up that directory and it should work on other PCs when extracted somewhere. You do not need to make an installer, but users often prefer one.
You'll need to package your C++ runtime along with it. I'm not sure how windeployqt handles that if you compiled with MinGW rather than Visual Studio. I noticed that for Visual C++ it includes the "vcredist" which is an installer the user needs to run to install the runtime. However I know that you can actually just include the relevant runtime DLLs (usually msvcpXXX.dll and possibly msvcrXXX.dll where XXX is the Visual Studio version number).
The target PC should be up-to-date. I've seen applications fail to run but a Windows Update fixed it.
If your application fails to run, you can run Dependency Walker on it. It always gives a few false positives but you get used to which ones they are and it can highlight any missing DLLs.
Hope that helps.
I think you have to polish your C++:
new
operator, but never delete
it. If you have to store those objects on heap – use std::unique_ptr
(or QScopedPointer
). But I would just create those objects as class members. Also I will link it here: https://www.slideshare.net/sermp/without-new-and-deleteLogging::list_include
for example. It takes Multiplication object by copy.Those are main issues I noticed here. If I must guess, you were using Java before, because you make mistakes like many people coming from java. If you agree with those, I can check it deeper after refactoring.
I've been using Qt/QML for my Android app and here are some problems I've run into:
If you have a large text entry, e.g. a multi-line text edit, the screen noticeably flickers when the screen is resized due to the virtual keyboard showing/hiding. I wouldn't want this problem in a professional application. This page discusses some workarounds, but it looks like all the workarounds have their own issues.
Text entry controls act different than what users expect on Android. To select text on Android, you would normally long press on the text to start the selection process. With Qt, the user will have to double tap the text to select. I wonder how many of my users will think that they couldn't select text in the text boxes.
There's no table view (except for the one in Controls 1, but you shouldn't use that because it's deprecated and will look different from your other controls), so I've had to design around it. There will be a TableView in the upcoming 5.12 release, though!
If you want to integrate into Android more (notifications, toasts, services, etc.) you'll end up having to write JNI.
I haven't evaluated other frameworks because Qt allows the same application to work on my Linux desktop. I didn't want my code to be restricted to mobile.
QML should integrate easily with your current codebase, so if your codebase is complicated enough that you don't want to rewrite it in another language or wrestle with FFI, I think that would be a reason to give QML a try.