Usar a dependência de crates.io não funciona.
Só posso usar as ligações ferrugem se primeiro compilá-las no projeto Elektra e, em seguida, usar o diretório compilado (substituir macros) como uma dependência de caminho.
# Create a new cargo project
cargo new test-elektra-rs
cd test-elektra-rs
# Add the elektra dependency
echo "elektra = \"0.9\"" >> Cargo.toml
# Build the project
cargo build
Construir com sucesso
Erro:
error[E0425]: cannot find function `keyIsDirectBelow` in crate `elektra_sys`
-->CARGO_DIR/registry/src/github.com/elektra-0.9.0/src/readable.rs:231:31
|
231 | unsafe { elektra_sys::keyIsDirectBelow(other.as_ref(), self.as_ref()) == 1 }
| ^^^^^^^^^^^^^^^^ help: a function with a similar name exists: `keyIsDirectlyBelow`
error[E0425]: cannot find value `KDB_O_NOCASE` in crate `elektra_sys`
--> CARGO_DIR/registry/src/github.com/elektra-0.9.0/src/keyset.rs:24:43
|
24 | const KDB_O_NOCASE = elektra_sys::KDB_O_NOCASE as elektra_sys::option_t;
| ^^^^^^^^^^^^ help: a constant with a similar name exists: `KDB_O_NONE`
error[E0425]: cannot find value `KDB_O_WITHOWNER` in crate `elektra_sys`
--> CARGO_DIR/registry/src/github.com/elektra-0.9.0/src/keyset.rs:26:46
|
26 | const KDB_O_WITHOWNER = elektra_sys::KDB_O_WITHOWNER as elektra_sys::option_t;
| ^^^^^^^^^^^^^^^ not found in `elektra_sys`
error[E0425]: cannot find value `KDB_O_NOALL` in crate `elektra_sys`
--> CARGO_DIR/registry/src/github.com/elektra-0.9.0/src/keyset.rs:28:42
|
28 | const KDB_O_NOALL = elektra_sys::KDB_O_NOALL as elektra_sys::option_t;
| ^^^^^^^^^^^ help: a constant with a similar name exists: `KDB_O_NONE`
error: aborting due to 4 previous errors
For more information about this error, try `rustc --explain E0425`.
error: could not compile `elektra`.
To learn more, run the command again with --verbose.
Obrigado por denunciar este problema!
Parece que a encadernação das caixas não está atualizada ou o seu Elektra é muito antigo. Por exemplo, keyIsDirectBelow foi renomeado para keyIsDirectlyBelow. Ele foi renomeado pelo autor das ligações Rust, então talvez ele possa nos dar mais informações sobre o que exatamente está errado aqui: wink:
Obrigado pelo relatório!
Desde o lançamento mais recente do Elektra de 0.9.1
, ainda não consegui liberar os vínculos atualizados para crates.io
. Portanto, você provavelmente está usando ligações de ferrugem 0.9
com Elektra 0.9.1
, que não é compatível. Vou lançar a atualização muito em breve e então você não deverá ter mais problemas. Eu avisarei você assim que terminar.
Acabei de publicar novas versões de elektra
e elektra-sys
em crates.io. Avise-me se tiver mais problemas.
Está funcionando agora :)
Comentários muito úteis
Está funcionando agora :)