Qt library without qt framework on desktop and embedded
I was hoping it wouldn't be necessary to rely upon the forum, but I wasn't able to find much of any documentation on this topic.
I am considering using one of the Qt libraries, QtXmlPatterns, iin an application that is targeted for desktop platforms (Windows, Mac & Linux) and would probably later be ported to Android and possibly iOS.
It appears that the bulk of the Qt project is the cross-platform GUI toolkit, but apparently the project also has developed helper libraries such as QtXmlPatterns.
I am wondering the following:
- Is the library distributed separately from the rest of Qt?
- Will it build out of the box, into a small package, without the entire Qt codebase? On what components does this library depend?
- Will it build and run out of the box on ARM systems such as phones and tablets?
- Are directions available for doing any of these things?
(As background, my idea so far is to extend existing open-source file-synchronization software in order to be able to filter files based on their file properties, and later based on the contents of XML files inside the tree. Existing solutions, such as the one I am looking at currently, are only able to filter based on pattern matching of names and on file properties such as size and timestamp. But imagine you have content in cloud storage that you want to keep synced with various clients, including desktops, tablets, and phones. You would probably want to suppress syncing of certain files to lower-performing devices because of their limited storage and possibly becaues of their smaller screens and lower performance. To make this possible, I would use QtXmlPatterns, as well as the file system example that leverages the XML data abstraction feature of the library, in order to develop a library that processes queries to select files and directories based on their file properties or the information contained within XML files. A UI would then feature a basic version that would compile a query expression from parameters, and an advanced version that would allow the user to write a custom query.)
Qt is modularized. You can pick which part of Qt you want to embed in your application. QtXmlPatterns relies on QtCore and QtNetwork from what I can see. You'll need those two libraries additional libraries for it to work in your project.
That's great. Does this mean that if I integrate the library into an application, developers who wish to build the application will have to acquire all of Qt?
Also, would it be possible to build and run the library for the ARM, for Android and iOS?
Where can I find instructions for doing these things?
They might need the Qt SDK to build your application. You can only distribute your library and the required libraries it depends on what you want to do.
Qt builds for ARM, no problem just get the source and configure it with the proper toolchain. There is ongoing work to port Qt to Android and iOS. I can't tell you the progress on that but I'm pretty sure that QtCore builds on iOS and full Qt builds on Android. You'll have to do some googling to confirm that.