LabVIEWForum.de
lblib, lvlibp, libraries und packed libraries in exe integrieren? - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Application Builder (/Forum-Application-Builder)
+---- Thema: lblib, lvlibp, libraries und packed libraries in exe integrieren? (/Thread-lblib-lvlibp-libraries-und-packed-libraries-in-exe-integrieren)



lblib, lvlibp, libraries und packed libraries in exe integrieren? - RabenFlug - 30.03.2020 12:17

Hallo Zusammen,

ich leider im Moment maximal verwirrt was "libraries" und "packed libraries" betrifft. Vielleicht kann mir Jemand einen kleinen TIP geben? Für ein Projekt hatte ich einen Teil (eine Motorsteuerung) als library angelegt (die einige vis enthält). Daraus hatte ich dann eine packed library "compiliert". Soweit okay.

Wenn ich diese jedoch im Hauptprojekt einbinde und dieses dann kompiliere, wird auf dem Zielsystem die packed library benötigt. Gibt es eine Möglichkeit, die Library mit in die exe zu kompilieren um sie nicht auf dem Zielsystem vorhalten zu müssen?

Wenn ich es richtig verstehe, ist eine (unkompilierte) library nicht wirklich eine sammlung aller VIs, sondern nur eine art "verzeichnis" um daraus eine packed library zu erstellen? Stimmt das?

Ich würde gerne bestimmten Code, z.B. einen Servomotortreiber getrennt von der Oberfläche programmieren und dann "mit in die Oberfläche" hineinkompilieren, ohne die lvlibp auf dem Zielsystem liegen haben zu müssen. Gibt es diese Möglichkeit?
Sorry für diese Anfängerfragen, manchmal steht man echt auf dem Schlauch...


RE: lblib, lvlibp, libraries und packed libraries in exe integrieren? - GerdW - 30.03.2020 13:24

Hallo Rabe,

Zitat:Wenn ich es richtig verstehe, ist eine (unkompilierte) library nicht wirklich eine sammlung aller VIs, sondern nur eine art "verzeichnis" um daraus eine packed library zu erstellen? Stimmt das?
Das ist für eine LVLIB richtig: die lvlib-Datei enthält nur Angaben, welche anderen Dateien (und Einstellungen) zur "Sammlung" gehören.
Die älteren LLBs waren noch "richtige" VI-Sammlungen, die enthielten auch die VIs - sind aber trotzdem nicht empfehlenswert (u.a. weil veraltet)…

Zitat:Ich würde gerne bestimmten Code, z.B. einen Servomotortreiber getrennt von der Oberfläche programmieren und dann "mit in die Oberfläche" hineinkompilieren, ohne die lvlibp auf dem Zielsystem liegen haben zu müssen. Gibt es diese Möglichkeit?
Ja, die gibt es.
Hast du die lvlibp in das Projekt eingebunden?
Wie sieht deine BuildSpec aus? Welche Dateien werden da wie in die EXE eingebunden?


RE: lblib, lvlibp, libraries und packed libraries in exe integrieren? - RabenFlug - 30.03.2020 13:36

Hallo Gerd,
das Forum ist wirklich dein Wohnzimmer, oder? Du bist wirklich immer da und hast das im Blick Smile

Zitat:Die älteren LLBs waren noch "richtige" VI-Sammlungen
Dann ist das eigentlich das, was ich suche. Klingt vielleicht etwas kauzig, aber ich will meine Projekte immer lauffähig halten und den aktuellen Stand der Libraries zum compile der exe "archivieren". Worstcase wäre, dass ich größere Änderungen an einer Librarie mache, und dann ein Projekt
nicht mehr "schnell" compilieren könnte weil sich die Struktur der libraries geändert hat :/

Zitat:Hast du die lvlibp in das Projekt eingebunden?
Die LVLIBPs habe ich wie im Screenshot zu sehen im Projektbaum eingehängt und in den Build specs der exe unter "immer enthalten" drin.


RE: lblib, lvlibp, libraries und packed libraries in exe integrieren? - GerdW - 30.03.2020 14:00

Hallo Rabe,

Zitat:Dann ist das eigentlich das, was ich suche.
Das glaube ich nicht und ich rate davon ab…

Zitat:Klingt vielleicht etwas kauzig, aber ich will meine Projekte immer lauffähig halten und den aktuellen Stand der Libraries zum compile der exe "archivieren". Worstcase wäre, dass ich größere Änderungen an einer Librarie mache, und dann ein Projekt nicht mehr "schnell" compilieren könnte weil sich die Struktur der libraries geändert hat :/
Für den ersten Satz gibt es SCC-Systeme wie SVN oder GIT.
Für den zweiten Satz gilt: Sinn und Zweck von Libraries ist es, Code hinter einem API zu kapseln. Der Code kann sich ändern, aber solange das API sich nicht ändert, sollte dein aufrufendes Projekt lauffähig bleiben…

Zitat:Die LVLIBPs habe ich wie im Screenshot zu sehen im Projektbaum eingehängt und in den Build specs der exe unter "immer enthalten" drin.
Falsch: du hast nur den Folder als "immer enthalten" markiert, aber nicht die einzelnen lvlibps.
Außerdem kann man zusätzlich angeben, wo ein VI abgelegt werden soll: in der EXE oder eben im zusätzlichen DATA-Folder…


RE: lblib, lvlibp, libraries und packed libraries in exe integrieren? - RabenFlug - 30.03.2020 18:53

Ich habe nochmal etwas nachgedacht. Eigentlich spricht nichts gegen die Verwendung von LVLIPp's. Ich hätte sie zwar lieber in der exe und nicht im "data" Verzeichnis (habe das bisher nicht hinbekommen, selbst wenn die Dateien "immer enthalten" sind, die exe fragt nach dem Start nach den Dateien). Die Bibliotheken versioniere ich sowieso schon in einem SVN. Wieso also nicht?

Wäre nur noch die Frage, ob man die lvlibp Bibliotheken wirklich in die exe übernehmen kann.

Danke euch schon mal für's Beschäftigen mit solchen Kinkerlitzchen...


RE: lblib, lvlibp, libraries und packed libraries in exe integrieren? - BNT - 30.03.2020 20:28

(30.03.2020 18:53 )RabenFlug schrieb:  Eigentlich spricht nichts gegen die Verwendung von LVLIPp's.
Meiner Meinung nach gibt es kein Szenario, dass den Einsatz von 'packed libraries' rechtfertigt!
Finger weg davon.
Gruß Holger