在cita中使用c静态库

我已经在简单的rust程序中测试过调用c库了,但是在cita中调用时出现了问题:

我在cita-chain的cargo.toml中添加了这些内容:

我还在cita-chain/src/中添加了build.rs文件
我看到cargo.lock中发生了类似这样的修改:

我觉得可能时lock中的修改导致的,这个问题应该怎么解决呢?

这样就可以了,但为啥又报这个错误?(我没有动cita-auth)

之前那个报错是因为libc那个依赖没指定版本。
后面这个报错是因为你拿的是个老版本的源码,修改Cargo.toml之后,Cargo.lock文件重新生成了。这里依赖的cita-common直接取了最新的代码。但是最新代码里db这个库已经从cita-common里去除了。

建议使用最新的代码。
如果因为其他原因一定要使用老版本。那就要把Cargo.lock里面cita-common的commit id手动改成对应老版本里的那个commit id。