rustup 工具链 stable-x86_64-pc-windows-msvc 的安装

  • 白杉
  • 编程
  • Rust

起因

在 Github 搜 Rust 的 GUI 库,有一个 imgui-rs,绑定的 C++ 的 dear imgui。

dear imgui 的 issues 里有很多截图:

https://camo.githubusercontent.com/83060f190335c714435c7da9084dc90693ddf60e/687474703a2f2f692e696d6775722e636f6d2f4134347a4c6c622e676966 https://user-images.githubusercontent.com/11358135/29080150-531e691a-7c5f-11e7-8bfe-50eb81402470.png

看上去很厉害,想试用一下,README 里写了跑示例只能用 msvc 工具链编译,msvc 太大了,犹豫了一下,败给了好奇心。

msvc toolchain 的安装

Visual C++

先单独安装 Visual C++,到 Visual Studio 下载页下载安装器,可以选 Visual Studio Community 2017,也可以在页面下面选 build tools,两个其实一样,只是点进去选项的位置稍有不一样。

我选的是 build tools,在一个一个试验以后,确认最小安装如图:

Visual C++ Build Tools

安装过程中提示无法下载 VC_redist.x64.exe,不知道为什么,按照提示框给的链接,单独下载这个文件,放到 C:\ProgramData\Microsoft\VisualStudio\Packages 里,点击 retry 即可。

后来编译的时候遇到过 C1083 错误,提示缺少 advapi32.lib,就是因为没装那个巨大的 Windows 10 SDK for Desktop C++。(下面三个更大。)

这个 .lib 文件在 51cto 上有人上传了剪裁过的 SDK 包,但这个网站下载需要登录,虽然提供了 OAuth 登录,却必须绑定手机号。这还不如直接要手机号。

toolchain

安装完 msvc 执行:

等它装完:

装好后试着编译 imgui-rs 的示例,还是失败,不知道为什么不能编译 64 位的,又改装了 stable-i686-pc-windows-msvc,终于编译成功。

对比一下,安装 gnu 工具链:

搞定。

测试

不多不说光是自带的 test_window 的例子就感觉很好很强大,里面有各种工具的实现,操作方便、响应流畅。

唯一的问题就是性能。一个 hello_world 的窗口几乎跑满了 i5 笔记本的一个核心,编译成 release 版后静止状态也要占 CPU 百分之十几,动一动鼠标就奔着翻倍去了,大概真的是每一帧都重新渲染。

看来只能用来开发游、3D 戏这种不怕吃硬件的东西。

之后我试着编译了另一个类似的 C 语言实现的绑定——nuklear-rust,Windows 下编译不成功。

结论

白干。

  • 620
回复内容较长可以拖右下角↑
回到
顶部