12-20-2023 05:57 AM
Hallo community,
I was curious about whether it was possible to automate the process of starting a LabVIEW Build in LabVIEW Version 6.0 or 7.0 Professional (UNIX Solaris/Linux).
The tool for generating an stand-alone executable is the so called "Application Builder" which can be opened via the menu bar under "Tools" in LabVIEW.
My question would be if it is possible to run it without starting LabVIEW itself. The idea is to automate the process of building an executable without the GUI in a script.
(e.g.: user@solaris_pc:/opt/lv71/.../.../application_builder myProgramm.bld ) -> generates the .exe
FYI: the .bld file is the a build-file for the appbuilder so it know what to build an where to store the application.
I couldn't find the path of the "Application Builder".
Solved! Go to Solution.
12-21-2023 03:53 AM
I don't have an actual answer (LV 7.0 is 20 years old by this point and I never did this), but this might help point you in the right direction. In any case, I expect you will still need LV running, but you could possibly do the build programmatically. I also don't know if any of this will work on Solaris.
The first thing I would consider is looking for OpenG Builder, which I believe has the relevant code to do this. It looks like it builds an LLB and then calls the NI code to convert it to an EXE.
If that doesn't work for you, it seems to use VIs from project\prodisttool.llb, which is where the build dialog and its VIs seems to live, so you could possibly use that.
12-21-2023 04:03 AM
12-21-2023 04:15 AM - edited 12-21-2023 04:16 AM
tst, gave you already a good direction. There are not that many options really if you talk about such an old version.
Building applications without a LabVIEW (Runtime) application is basically out of question. What you could probably do is to build an executable by using the OpenG Builder libraries mentioned by tst. This is basically the predecessor of parts of what got later VIPM. Then you could invoke that executable with command line parameters. Extra difficulty might be that LabVIEW 7 did not yet have VI server functionality to retrieve the command line parameters with which it or an executable was called. I'm not entirely sure when that was introduced, but LabVIEW 7.0 was indeed released in April 2003, so more than 20 years ago and my memory isn't anymore what it never was. 😀
In more recent versions you could also create a shared library from the OpenG Builder functions and then call that from your own C or whatever application but I believe that 7.x did not have shared library generation support.
Some of the OpenG Builder artefacts would be
DEAB:
https://sourceforge.net/projects/opengtoolkit/files/rsc_deab/0.10/
OPGB:
https://sourceforge.net/projects/opengtoolkit/files/ogrsc_builder/3.0.1/
https://sourceforge.net/p/opengtoolkit/svn/HEAD/tree/trunk/builder/
https://sourceforge.net/p/opengtoolkit/svn/HEAD/tree/trunk/package_builder/
However much of this was likely never tested on Solaris at all, and Linux support for LabVIEW at that time was only semi official.
01-03-2024 06:06 AM
Here is the little VI I built with the help of the thread.
Unfortunately I was not able to make an executable out of this VI because I can't build with the Application Builder and use it in my code simultaneously. But that's the "deadlock" which was described in the thread aswell.
Nevertheless I now can call this VI from the command line interface like so:
/opt/lv71/labview "/../AppBuilderForLV71" -- "/../myBuild.bld"
Note: use always absolute paths.