根据Cargo 放行指令生成的铁 rust 放行二进制文件的部署要求是什么?如果我在机器上复制可执行文件,它会开箱即用吗?还是需要在目标机上安装GCC?

推荐答案

如果您不使用任何 crate ,也不自己链接到FFI库,那么您的可执行文件应该是独立的.例如,一句简单的"Hello world"就可以开箱即用.

在真实的项目中,您将使用外部 crate ,这取决于您使用的 crate .它们中的大多数没有任何额外的依赖项,也可以开箱即用,但一些机箱需要安装相应的库(最明显的是针对图形用户界面).

在Unix系统上,命令:ldd ./target/release/my_crate将列出所需的库:

> ldd ./target/release/hello
        linux-vdso.so.1 (0x00007ffefd736000)
        libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f0299dc0000)
        librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f0299db6000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f0299d95000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f0299d90000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f0299bd0000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f0299e5e000)

这些都是标准库,应该已经安装在任何系统上,所以这个程序没有特别的要求,应该在任何地方都可以工作.

在Windows上,您可以使用Dependencies Walker来查找所需的库.

Rust相关问答推荐

泛型属性比较

如何在tauri—leptos应用程序中监听后端值的变化?""

当一个箱子有自己的依赖关系时,两个人如何克服S每箱1库+n箱的限制?

制作一片连续整数的惯用Rust 方法?

在UdpSocket上使用sendto时的隐式套接字绑定

如何指定不同的类型来常量Rust中的泛型参数?

正则表达式中的重叠匹配?(铁 rust 正则式发动机)

通过RabbitMQ取消铁 rust 中长时间运行的人造丝任务的策略

我如何使用AWS SDK for Rust获取我承担的角色的凭据?

找不到 .has_func 或 .get_func 的 def

Rust 重写函数参数

为什么某些类型参数仅在特征边界中使用的代码在没有 PhantomData 的情况下进行编译?

如何在 Rust 中将函数项变成函数指针

在发布中包含 Rust DLL

Rust 程序中的内存泄漏

使用自定义 struct 收集 Vec

Rust 中的方法调用有什么区别?

如何断言代码不会在测试中编译?

你能用 Rust 和 winapi 制作 Windows 桌面应用程序吗?

函数参数的 Rust 功能标志