2014-02-09 13 views
12

Ich versuche mit der rust-http Bibliothek zu arbeiten, und ich würde es gerne als Grundlage für ein kleines Projekt verwenden. Ruf mich jetzt dumm an, aber ich habe keine Ahnung, wie ich etwas verwenden soll, das ich nicht über rustpkg install <remote_url> installieren kann. In der Tat habe ich heute herausgefunden, dass rustpkg eigentlich jetzt veraltet ist. Also, wenn ich git clone die Bibliothek und die entsprechenden make Befehle ausführen, um es zu bauen, wie verwende ich es woanders? I.e. Wie verwende ich eigentlich extern mod http?Wie benutze ich externe Kisten in Rust?

Sorry für die Idiot Frage. Ich kann das einfach nicht in den Dokumenten finden.

+0

Kleine Anmerkung: 'extern mod' zu' extern crate' kürzlich umbenannt wurde. – barjak

Antwort

12

Sie müssen -L Flag rustc passieren das Verzeichnis hinzuzufügen, die http Bibliothek zum Suchpfad zusammengestellt enthält. Etwas wie rustc -L path-to-cloned-rust-http-repo/build your-source-file.rs sollte tun.

Tutorial reference

+0

Hinweis: Fügen Sie das ** Verzeichnis ** hinzu, nicht die Datei! Nehmen wir an, Sie haben libhttp.dylib im Verzeichnis ../rust-http/target/debug, dann erstellen Sie mit 'rustc -L ../rust-http/target/debug your-source-file.rs'. – nalply

1

Sobald Sie es gebaut haben, können Sie die normale extern mod http; in Ihrem Code verwenden. Der einzige Trick ist, dass Sie das entsprechende -L Flag an rustc übergeben müssen, um es zu sagen, wo libhttp zu finden ist. Wenn Sie also ein Submodul in Ihrem Projekt im Verzeichnis rust-http haben, und wenn es in seinem Stammverzeichnis erstellt (ich weiß nicht, wo make in rust-http die resultierende Bibliothek ablegt), können Sie Ihr eigenes Projekt mit rustc -L rust-http pkg.rs erstellen. Mit diesem -L Flag, die extern mod http; Zeile in Ihrem pkg.rs wird libhttp im rust-http Unterordner finden können.