' schrieb:Hallo,
gibt es einen Weg, einem Bilblotheksknoten mehr als eine Bibliothek anzugeben? Situation:
Programm läuft sowohl unter Windows als auch unter Linux. die aufzurufende Bibliothek ist unter Win eine *.dll, unter Linux jedoch eine *.so. Die verwendete Funktion ist jeweils die gleiche mit den gleichen Parametern. Achtung!: Ich suche nach dem prinzipiellen Weg. Es geht mir nicht darum, dass für eine einzelne Funktion zu erledigen, dann wäre es ja kein Akt, dass auf der jeweiligen Plattform extra aufzubauen. Die Bibliothek ist ein API von der ich etliche Funktionen aufrufe, so dass der Aufwand erheblich ist dies für beide Plattformen separat aufzubauen...
LabVIEW ist sehr Smart im Bibliothekskonten. Wenn Du darauf schaust dass die beiden Libraries den selben Basisnamen haben, kannst Du den Librarynamen als <basisname>.* angeben. LabVIEW sucht dann automatisch nach dem File mit der bevorzugten Fileendung für die aktuelle Platform. Funktioniert auch mit den Files <basisname>.so und <basisname>.dll im selben Verzeichnis nebeneinander.
Um dass aber gut zu machen musst Du dann auch darauf schauen dass alle Funktionen in beiden Platformen auf die selbe Weise exportiert werden. Also kein stdcall in Windows sonder cdecl auf allen Plattformen.
Schaue auch mal auf
Expressionflow für mehr Tips im Zusammenhang mit externen Bibliotheken.
Rolf Kalbermatter