我克隆并尝试构建MIO coroutines library,但是其依赖项似乎冲突:

native library `kernel32` is being linked to by more than one package, and can only be linked to by one package

  kernel32-sys v0.2.0
  kernel32-sys v0.1.4

依赖性time似乎需要kernel32 0.1.4,但是其他两个依赖性fs2memmap则需要0.2.0。

有什么我可以解决的方法,还是在这种情况下最好的解决方案就是提交错误报告?

与此相关的是,如果仓库没有Cargo.lock,那算不算是错误?我已经看到它建议始终将Cargo.lock添加到版本控制中,以防止出现此类问题。

最佳答案

这是一个已知问题,已记录在on the WinAPI bugtracker中。

似乎问题在于维护者发布了一个新版本,将其从v0.1.x升级到v0.2.x。由于某些软件包依赖于v0.1.x(并将在更新之前继续依赖),因此Cargo提示这两个依赖项不兼容,因此拒绝将两者都链接起来。随之而来的是困惑。

根据上述票证,现在应该纠正此问题。

关于rust - 本地库 `kernel32`被多个软件包链接到,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33605157/

10-13 04:46