2014-02-09 3 views
12

Я пытаюсь работать с библиотекой rust-http, и я хотел бы использовать ее в качестве основы для небольшого проекта. Теперь позвоните мне немой, но я понятия не имею, как использовать что-то, что я не могу установить через rustpkg install <remote_url>. На самом деле, я узнал сегодня, что rustpkg фактически устарел. Итак, если я git clone библиотеки и запустите соответствующие команды make, чтобы создать его, как его использовать в другом месте? То есть Как я могу использовать extern mod http?Как использовать внешние ящики в Rust?

Извините за вопрос идиота. Я просто не могу найти это в документах.

+0

Небольшое замечание: 'ехЬегп mod' был недавно переименован в' экстерном crate'. – barjak

ответ

12

Вам необходимо пройти -L флаг rustc добавить каталог, который содержит скомпилированный HTTP библиотеку в пути поиска. Нечто вроде rustc -L path-to-cloned-rust-http-repo/build your-source-file.rs должно делать.

Tutorial reference

+0

Примечание: добавьте ** каталог **, а не файл! Скажем, у вас есть libhttp.dylib в каталоге ../rust-http/target/debug, затем создайте с помощью 'rustc -L ../rust-http/target/debug your-source-file.rs'. – nalply

1

После того, как вы его построили, вы можете использовать обычный код extern mod http; в своем коде. Единственный трюк в том, что вам нужно передать соответствующий флаг -L на номер rustc, чтобы сообщить, где найти libhttp. Поэтому, если у вас есть подмодуль в вашем проекте в каталоге rust-http, и если он строит в свой корень (я действительно не знаю, где make в rust-http откладывает полученную библиотеку), вы можете создать свой собственный проект с помощью rustc -L rust-http pkg.rs. С этим флагом -L линия extern mod http; в вашем pkg.rs сможет найти libhttp в подпапках rust-http.

Смежные вопросы