【问题标题】:How to use rust code in a C project while not changing the build system?如何在不更改构建系统的情况下在 C 项目中使用 rust 代码?
【发布时间】:2019-10-17 14:13:08
【问题描述】:

我试图将 nano 移植到 rust 并使用,但我不想更改构建系统或在同一个项目上也没有两个并发构建系统。

为了在 C 项目中使用 rust,我找到了 this guide,但这需要我更改构建系统或使用混合方法(即同时使用两个构建系统)。

【问题讨论】:

  • 在 makefile 中使用 cargo 有什么问题?
  • 不确定是否this will help.
  • 具体是什么问题?我可以理解不想使用混合方法,但是在 Makefile (或其他)中调用 rustc 有什么问题?您尝试过什么/正在考虑尝试什么?有什么问题?

标签: c rust automake


【解决方案1】:

rustc 可以以与cc 类似的方式调用,并生成与 C 兼容的静态库。如果您只添加一小部分不使用 Cargo 依赖项的 Rust,这可能很容易集成到 C 构建系统中。

但是,如果直接使用rustc,您将失去对 Cargo 的访问权限,并且它会像 C 的 deps 一样使用依赖项,除了 Rust 程序习惯于使用数百个依赖项。

所以最简单的方法是从现有的构建系统调用cargo build --release

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-26
    • 1970-01-01
    • 2014-05-12
    • 2015-09-18
    • 2011-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多