Как добавить уже встроенную библиотеку ржавчины в сборку груза?

У меня есть проект, позвольте назвать этот проект Master. Этот проект мастера зависит от другой библиотеки, которую я уже написал, и которая отделена в другом проекте, позвольте ей вызвать эту библиотеку проекта.

Добавление зависимостей git или незастроенных зависимостей проекта от ржавчины довольно просто. Но что, если я хочу выбрать уже построенные библиотечные библиотеки, скажите, что груз использовал его при компиляции Master (output Master.exe), поэтому я могу отправить всю программу с иерархией следующим образом:

-Master
--lib
---Library.librs
--Master.exe

Можно ли это сделать с грузом, или мне нужно использовать rustc с параметром -L? Если да, то как именно? Благодарим вас за полезные советы.

Ответ 1

Cargo обычно помещает главную папку src в src, поэтому я предполагаю, что это где-то.

Ваш Cargo.toml файл в главной папке будет выглядеть (он будет в корневом каталоге выше /src ):

[package]
name = "Master"
version = "0.0.1"
authors = ["You"]

[dependencies.Library_lib]
path = "src/lib"

Затем в /src вы можете получить исходный код для своего проекта Master. В /src/lib добавьте еще один файл Cargo.toml для вашей библиотеки:

[package]
name  = "Library_lib"
version = "0.0.1"
authors = ["You"]

[lib]
name = "Library_lib"
path = "lib.rs"

Наконец, в вашем /src и in/src/lib поместите файл lib.rs(в каждом месте).

В src/main.rs вы также можете ссылаться на свою библиотеку:

extern crate Library_lib;

use Library_lib::something_to_import_from_lib;

Здесь вы ссылаетесь на ящик и используете свой оператор использования, чтобы вы могли использовать материал из lib.

В/src/lib/lib.rs вы объявляете с ключевым словом pub единицы, которые вы хотите открыть.

Ответ 2

в файле cargo ржавчины уже есть файл cargo.toml, вы можете добавить библиотеку в файл cargo toml.

[package]
name  = "Library"
version = "0.1.0"
authors = ["you"]
edition = "2018"

это файл пакета, который вы можете добавить библиотеку в [зависимости] путь /

[dependencies]
name = "Library"
path = ".rs"