I saw NXG 4.0 supports building libraries into GLLs so gave it a quick shot, but I can't find any info about using the GLLs in any useful way. I can build them...but that's about it.
Is there any way to use a GLL, beyond being a bit of extra compiler output?
Solved! Go to Solution.
Thanks for the feedback! You are correct in your analysis of the situation. In the LabVIEW NXG 4.0 release, the GLLs don't do too much. I wanted to share our reasoning for this, and give you a heads up to some things that are coming down the pipeline.
We wanted to get people comfortable with the concept of how we build components, and how these built components (i.e. GLLs) compose the binary output of your applications. Components are the main organizational tool in LabVIEW NXG, and having desktop libraries compile into GLLs is a continuation of that theme.
There are still "source components," just not as a build option. You can always take a .gcomp directory and give that to somebody else or use it in a separate project. But for the notion of what happens on build on the desktop, right now we will always build these into GLLs. We do have on our long-term backlog an option for creating a monolithic EXE, but we will not get to that any time in the near future. The capabilities that GLL will soon provide were higher on the list of requirements for the customers we have spoken to than monolithic EXEs.
On the subject of those GLL capabilities, the team is currently hard at work on patching individual GLLs (and thus being able to build GLLs individually) as well as the ability to load a GLL dynamically from your built app.
I am excited to see these features get out the door. Our general approach has been to get smaller increments of functionality out the door more often, so stay tuned for the next LabVIEW NXG release!
Thanks for the detailed response, Taylor. I was hoping for a PPL / LVLIBP replacement when I saw GLLs were included in NXG 4.0, and it sounds like they will be in a future release.
A monolithic exe isn't high on my requirements list either, but would be a nice to have. A key feature I'd like to see (and I'm sure many others) for GLLs would be around plugin architectures. Not just the ability to create them, but a much simpler workflow for code creation. Right now with PPLs and LVLIBPs, it means juggling several projects in and out of memory so libraries don't get locked, or have build errors. Multiple projects also exacerbates any code refactoring amongst PPLs and their dependencies. If and when this can all be done from a single project in NXG, I'll happily switch!
So you'll be glad to know that we have drastically simplified the workflows around creating GLLs and using them as plugins. No more separate projects for each PPL. As we get close to releasing this, I'll be able to share more details on the specifics of the workflows, but I hope that you will be pleased!