Libelektra: Rust 绑定仅适用于路径依赖

创建于 2019-11-29  ·  4评论  ·  资料来源: ElektraInitiative/libelektra

使用 crates.io 中的依赖项不起作用。
如果我首先在 Elektra proejct 中编译它们,我只能使用 rust 绑定,然后使用编译(替换宏)目录作为路径依赖项。

重现问题的步骤

# 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

预期结果

构建成功

实际结果

错误:

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.
lanrust

最有用的评论

它现在正在工作:)

所有4条评论

感谢您报告此问题!

似乎板条箱上的绑定不是最新的,或者您的 Elektra 太旧了。 例如,keyIsDirectBelow 被重命名为 keyIsDirectlyBelow。 它由 Rust 绑定的作者重命名,所以也许他可以让我们更深入地了解这里到底出了什么问题 :wink:

感谢报告!

自从最新的 Elektra 发布0.9.1以来,我还没有发布更新的crates.io绑定。 因此,您可能将锈绑定0.9与 Elektra 0.9.1 ,这不兼容。 我会很快发布更新,然后你应该不会再有任何问题了。 一旦完成,我会通知你。

我刚刚向 crates.io 发布了新的elektraelektra-sys版本。 如果您有任何其他问题,请告诉我。

它现在正在工作:)

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

markus2330 picture markus2330  ·  3评论

mpranj picture mpranj  ·  3评论

sanssecours picture sanssecours  ·  3评论

mpranj picture mpranj  ·  4评论

markus2330 picture markus2330  ·  3评论