Creating plugins for my own app
The short version:
I’m wondering if there is a simple way to create plugins for my own app developed with Qt. The plugins don’t need any UI stuff, they just need to do math and computations. The tricky part is this: I would like to be able to develop on one platform but use the plugins on multiple platforms. So, for example, on a single platform create both .dll files and .so files.
I’m still in the planning phase; I just want to check first if maybe Qt has a simple way of doing this.
Here are the details of what I want to achive:
I want to do some hectically computational math. I have a few computers at home: Two Windows PCs, a Mac and another PC with Ubuntu on it. They are all connected on Wi-Fi. I want to be able to write custom, native code and distribute dlls, shared objects and whatever Mac uses to the various agent apps (that have been pre written) in order for all the processors in my house to work together on a problem.
Forget about the security risk for the moment. I want to set it up so that when I press RUN, my latest code compiles, gets distributed to all the agents found on the network and they work together on the problem (I’ll be using mostly Monte Carlo algorithms) and send results back to the PC I’m sitting at.
I don’t have a problem with getting the file transfers and things to work. The part I’m wondering about is whether it is possible to create executable code for multiple platforms on a single platform with Qt.
Thanks, any help, tips or pointers will be appreciated. If there is some well-known tool that achieves something very similar and it seems I’m reinventing the wheel also please let me know. My only prerequisite is that I want to write in C/C++ and not some scripted language.
Qt supports plugin loading – have a look at the Plugins Howto [developer.qt.nokia.com]
The rest is only looseley Qt related, if at all. You’ll need to search the web for cross compilation (it was discussed here some time ago too, so the forum search might help you).
Thanks, and sorry if this went a bit off topic.
I guess I was unsure about the limitations of Qt. I realize now it gives you common source code that compiles on multiple platforms but that you still need to install Qt on those multiple platforms to do the compilation.
The solution I’ve come up with is to rely on something like WineHQ and only (for now) write a Windows app so I can distribute DLLs (or perhaps Qt low-level plugins?)
Using DLLs on non native platforms may work but the overhead is very considerable. Installing Qt on different platforms and recompilation takes a couple of mouseclicks. Distribution is very easy again. A couple of binary files go into one directory, thats it. Better think twice.
“Your entering a world of pain”
Walter Sobchack in “The Big Lebowski”