Welchen Pfad sollte ich an die Option --prefix
übergeben, wenn ich Cross Compiling durchführe: soll ich den Pfad auf meiner Buildmaschine oder den Pfad auf der Zielplattform angeben?configure "--prefix" -Option für Kreuzkompilierung
Angenommen, ich baue den Code in /home/me/arm/build/target_fs/usr
, danach kopiere ich die Dateien in meine Zielplattform, wo sie bei /usr
befinden werden. Sollte ich --prefix=/home/me/arm/build/target_fs/usr
oder nur --prefix=/usr
und dann make install DESTDIR=/home/me/arm/build/target_fs
verwenden?
Ich dachte, dass die --prefix
ist nicht der Pfad für Build, sondern der Pfad für die laufende Umgebung (d. H. Der Pfad auf der Zielplattform). Die Antworten here lassen mich denken, dass ich recht habe. Aber es gibt viele Seiten da draußen (zum Beispiel Cross-compiling FFmpeg for Raspbian: --prefix=/my/path/were/i/keep/built/
) wo Menschen den Pfad auf Build-Maschine für die --prefix
verwenden. Also bin ich verwirrt.
Ich habe gehört, dass das Präfix vom kompilierten Programm verwendet werden kann, um nach einigen Dateien (wie Konfigurationen) zu suchen. Wenn ich '/ home/me/arm/build/target_fs/usr' für das Präfix verwende, dann könnte das kompilierte Programm versuchen, Dateien in'/home/me/arm/build/target_fs/usr' zu suchen, was ein Pfad auf meiner Seite ist Maschine bauen, nicht auf der Zielplattform, auf der das Programm läuft. Also denke ich, dass das Präfix in einigen Fällen von Bedeutung sein kann. –
Für die Installation ist es egal. Aber ja, zur Laufzeit ist es wichtig. Ihre Binärdatei kann zur Laufzeit einige Konfigurationsdateien in Präfix suchen. Verwenden Sie einfach den Standardpfad zum Beispiel --prefix =/usr – Sami
Danke, ich habe verstanden. –