【发布时间】:2022-01-15 03:57:11
【问题描述】:
我在窗户上并且有
一个 Rust cdylib
[package]
name = "test1dll"
[lib]
crate-type = ["cdylib"]
以及依赖于该 dll 的 Rust 二进制文件
[package]
name = "test1"
[dependencies]
test1dll = { path = "..." }
正在寻找制作方法
cargo install
同时安装test1.exe 和test1dll.dll,或者,如果不能使用货物,则安装一个不太复杂的替代方案。
库需要是一个 dll,所以我可以LoadLibrary 它。静态库不起作用。
我可以在 target/*/deps 目录中看到二进制文件和 dll,但 cargo install 只安装可执行文件。
从 dll 项目本身运行 cargo install 会给出一个
错误:找不到包含二进制文件或示例的包。
此命令管理 Cargo 的本地已安装二进制 crate 集。 只有具有可执行 [[bin]] 或 [[example]] 目标的包才可以 安装
但由于在 Windows 上部署二进制文件和 dll 是一个有用的场景,Rust 甚至提供了将 cdylib 目标编译为 dll 的可能性,我想知道是否有办法使用 cargo。不幸的是,我是 Rust 新手,可能使用错误的关键字进行搜索。
我认为this 可能会接近但运行时被明确排除:
请注意,cargo 仅在构建您的 箱。如果您的程序或库在运行时需要工件,您 仍然需要通过其他方式自己处理。
要么我用错了,要么cdylib-plugin 也无助于安装 dll。
【问题讨论】:
标签: windows installation rust rust-cargo rust-crates