172 похожих чатов

Всем привет. А подскажите по крейтам. Использую layout: ./Cargo.toml ./src/lib.rs ./src/main.rs Содержимое Cargo.toml: [package] name =

"levent"
version = "0.1.0"
edition = "2018"

[lib]
name = "liblevent"
crate-type = ["staticlib"]
path = "src/lib.rs"
required-features = ["build-lib"]

[[bin]]
name = "daemon"
path = "src/main.rs"
required-features = ["build-bin"]
Внутри lib.rs:
pub Event {
...
}
Внутри main.rs:
use liblevent::Event;
В итоге при попытке собрать получаю:
use liblevent::Event;
| ^^^^^^^^^ use of undeclared crate or module `liblevent`
Что я делаю не так?

10 ответов

21 просмотр

Крейт называется levent

⁣Денис-Давыдов Автор вопроса
antuan
Крейт называется levent

Пробовал и use levent::Event и use levent::liblevent::Event - все равно ругается что найти не может

проблема в crate-type = ["staticlib"] добавь туда "rlib" или дропни эту строку вообще, если статическая библиотека в виде бинарника тебе не нужна

⁣Денис-Давыдов Автор вопроса
Arseniy
проблема в crate-type = ["staticlib"] добавь туда ...

Спасибо. Вообще перетащил нужные структуры в event.rs и импорчу как mod event; use event::{Level, Event} и в main.rs и в lib.rs

antuan
Крейт называется levent

плз не надо давать неправильные советы, крейт библиотеки называется liblevent, как и говорит name = "liblevent" в секции [lib]

⁣Денис Давыдов
Спасибо. Вообще перетащил нужные структуры в event...

лучше не надо так делать, как правило с этим потом начинаются проблемы (самая маленькая — не все символы везде используются, появляются варнинги про unused)

Arseniy
проблема в crate-type = ["staticlib"] добавь туда ...

^ всё так "staticlib"— это системная (то есть фактически с сишной линковкой) либа, не растовая, так что добавление "lib" или "rlib" решает вопрос

на всякий случай: по дефолту, в расте задействована статическая линковка

про линковку подробнее можно почитать тут: https://doc.rust-lang.org/reference/linkage.html#linkage

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта