Cross plat GUI framework that the final build does not need dependencies?
So, as the title clearly says, is there a GUI framework (if it's possible cross platform) which after you build your project for a specific operating system, the user won't need to install any additional depedencies.
Just run's the executable file end all works. I know about qt and electron but both have depedencies. For example the user must have installed qt or electron in order to run the application. I want something that after compilation will only depend on the actuall operating system API which was build for. Of course the framework should be in c/c++ because Languages like Java or Python already have depedencies. The user must have java or python for example. |
Guess Microsoft Win32 API can be considered as such. In Unix, GUI is not part to core system, so it does require 3rd party components.
|
Quote:
If not, then how do cross-platform GUI frameworks work in the first place? Are they designed to use a specific framework for example qt? |
It is theoretically possible, but you are unlikely to find it pre-built. You would have to code and compile the entire project for static compilation. the result would be HUGE, as it would incorporate all libraries into the executable file. It would also be a security issue, because you could not upgrade ANY of it without re-installing or recompiling ALL of it. Bit of a nightmare scenario, actually.
If you really do want such a thing, the sources are available. You would just have to pick one and tweak the code, the configuration, and makefiles to get a complete static compile. Why would you want this? |
Quote:
Anyway... Quote:
|
Is there a way to distribute the shared libraries (of qt for example) with my app, so the client won't need to install qt??? Of course, the risk with it would be to install these shared libs on the user's computer because they might override existing files if for example he already has installed qt.
Well, I thought of a solution, so the user won't need to install them or even make changes to ld. Would it be an acceptable solution to make a script that will export all the necessary dir paths with the local .so files every time the user runs my app? Lets say this is the structure of my app project: --myapp(dir) -run.sh -app.out -some other stuff... --libs(dir) and the run.sh might look something like that: Code:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:./libs/ |
AppImage with LD_LIBRARY_PATH is the way to go.
I do it all the time with wxWidgets. Under Linux linking the wxWidgets library as static is relatively small and works great in an appimage. |
Quote:
Haven't done this myself (yet), but there many more knowledgable people on this forum who can contribute to this. |
Quote:
Quote:
|
I will use AppImages. I just read about them and they sound incredible. Thanks for the help.
|
All times are GMT -5. The time now is 08:02 PM. |