在 Windows 上生成一个DLL供 C# 调用,本机调试正常,放在另一台电脑一直报"不能加载DLL"的错误

一开始以为是 32位和 64位的问题,检查后发现没有问题

后来在一个博主那找到了答案:RUST在WINDOWS上,利用VC编译出来的DLL,默认是依赖VC运行库的;感觉 RUST 工具链真是不靠谱,远不如GO的工具方便.

修改 ~/.cargo/config 里,加配置

#x64软件
[target.x86_64-pc-windows-msvc]
rustflags = ["-C", "target-feature=+crt-static"]
#x86软件
[target.i686-pc-windows-msvc]
rustflags = ["-C", "target-feature=+crt-static"]

再重新编译,编译出来的不再依赖VC运行库(至少我在另一台测试后,不再报错)

参考的博客 : https://www.chenxublog.com/2022/06/05/rust-without-vc-library.html

标签: none