4.5 Einbinden von Plugins

Im Gegensatz zu Datendateien und Schriftarten werden Plugins nicht automatisch mit Ihrem ausführbaren Programm verknüpft, wenn Sie sie mit der Präprozessor-Anweisung deklarieren. Der folgende Code wird zum Beispiel den Linker nicht anweisen, jpeg2000.hwp in Ihr ausführbares Programm einzubinden:

 
@REQUIRE "jpeg2000"

Wenn Sie jpeg2000.hwp in Ihr Programm einbinden möchten, müssen Sie den Tag Link auf True setzen. Der Code sieht dann so aus:

 
@REQUIRE "jpeg2000", {Link = True}

In diesem Fall wird jpeg2000.hwp mit Ihrem ausführbaren Programm verknüpft und der Benutzer muss keine Kopie von jpeg2000.hwp behalten, da sie bereits im Programm eingebunden ist.

Alternativ können Sie auch das Konsolenargumente ‘-linkplugins’ verwenden, um Plugins mit Ihrem Programm zu verknüpfen. Siehe Konsolenargumente für Details.

Beachten Sie, dass Plugins nur mit ausführbaren Programmen und nicht mit Applets verknüpft werden können, da Applets plattformunabhängig sind und Plugins nicht.

Bevor Sie den Plugin-Linker verwenden können, müssen Sie zunächst die Plugins für alle Plattformen, die Sie verknüpfen möchten, in ein Verzeichnis namens LinkerPlugins kopieren. Der Speicherort dieses Verzeichnisses ist von Plattform zu Plattform unterschiedlich. Hier finden Sie eine Übersicht darüber, wo der Hollywood-Linker nach diesem Verzeichnis sucht:

Beachten Sie, dass alle diese Suchpfade auch durch Bearbeiten der Datei sysroot.conf, die Teil der Hollywood-Installation ist, geändert werden können. Alternativ können Sie auch die Konsolenargumente ‘-sysroot’ und ‘-postsysroot’ verwenden, um Hollywoods Suchpfade zu ändern. Siehe Konsolenargumente für Details.

Innerhalb des Verzeichnisses LinkerPlugins sollten sich die folgenden Unterverzeichnisse befinden. Wenn sie nicht vorhanden sind, erstellen Sie sie einfach. Sie benötigen nur die Verzeichnisse für die Plattformen, für die Sie ausführbare Programme kompilieren möchten. Die folgenden Plattformverzeichnisse innerhalb von LinkerPlugins werden derzeit unterstützt:

 
arm-android-v7a
arm64-android-v8a
arm64-linux
arm64-macos
arm-ios
arm-linux
m68k-amigaos
m881-amigaos
ppc-amigaos
ppc-linux
ppc-macos
ppc-morphos
ppc-warpup
x86-aros
x86-macos
x86-linux
x86-windows
x64-linux
x64-macos
x64-windows

Nachdem Sie diese Unterverzeichnisse angelegt haben, müssen Sie die Plugins, die Sie einbinden möchten, dorthin kopieren. Sie müssen Plugins für alle Plattformen kopieren, für die Sie ein Programm kompilieren möchten. Wenn Sie das nicht tun, kann der Linker die Plugins nicht verknüpfen. Beachten Sie, dass der Linker nur Plugins im Verzeichnis LinkerPlugins sucht. Es wird nicht irgendwo anders nachschauen, vor allem nicht in den Standard-Plugins-Verzeichnissen.

Beachten Sie, dass bei der Erstellung von ausführbaren Programmen für die Plattform m881-amigaos der Linker auch nach Plugins im Verzeichnis m68k-amigaos sucht, da beide Plattform-Architekturen vollständig kompatibel sind. Dasselbe gilt für den ppc-warpup, der auch die Plattform-Architekturen m68k-Amigaos und m881-Amigaos berücksichtigen wird.

Wichtiger Hinweis: Achten Sie darauf, sorgfältig die Lizenz von jedem Plugin zu lesen, die Sie mit Ihrem Programm verknüpfen möchten, weil viele Lizenzen sind sehr restriktiv, wenn es um statische Verknüpfung geht. Zum Beispiel wenn Sie ein Plugin verknüpfen, das unter der LGPL-Lizenz lizenziert ist, wird Ihr komplettes Projekt automatisch auch LGPL und Sie müssen alle Quellen und Datendateien bereitstellen. So studieren Sie die Plugin-Lizenzen, bevor Sie sie mit Ihren Programmen verknüpfen.


Navigation zeigen