Как добавить уже встроенную библиотеку ржавчины в сборку груза?
У меня есть проект, позвольте назвать этот проект 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"