一、Visual Studio 版本
首先 Visual Studio 的版本至少在 2015以上。我开始用 2013 版折腾了好几天都没成功,换了 2017 社区版才试验成功。
二、静态库项目的编译选项
VS2017 的 C/C++ 静态库编译选项中,按照下面的设定:
三、Rust 代码导入静态库
很简单,静态库中我定义了一个 hello 函数,代码如下:
#include "pch.h"
#include "framework.h"void hello() {printf("Hello!\n");
}
静态库的名称是 hello.lib,注意编译的时候一定选择好 CPU,我选的是x64+Win32。编译完成后复制到 Rust 项目的根文件夹,也就是 src 的父文件夹。
Rust 的代码 main.rs:
#[link(name = "hello", kind = "static")]
extern "C" {pub fn hello();
}fn main() {unsa