【问题标题】:Rust Installation on Windows for developing GUI apps用于开发 GUI 应用程序的 Windows 上的 Rust 安装
【发布时间】:2016-08-05 05:40:14
【问题描述】:

TL:DR;

我可以在 Win 10 (64) 上使用 Rust 编写 GUI 程序而不安装完整的 MinGW 工具链(也不是 MS 等效工具链)吗?

补充问题:

- 如果没有,我应该继续安装 MinGW 吗?

- Windows 10 周年更新 中的 GNUish 是否会改变这些?


加长版

saw 说 Rust 是目前最受欢迎的编程语言,所以 15 分钟前...

read

基本使用 GNU 版本不需要额外的软件安装。

Rust 对 GNU ABI 的支持更加成熟,推荐用于典型用途。

所以我将Windows (GNU ABI †) (.msi) 64-bit 下载到运行 Windows 10 的 PC 上。

TUI

我阅读了一些基本介绍并使用rustc 编译了一个Hello World!并运行它。然后,我阅读了有关 cargo 的信息并重新组织了 buit 并使用它运行了相同的代码。

图形界面

然后我搜索Rust GUI,发现Kiss_UI

一个简单的 Rust 用户界面

所以我做了一个cargo new Hello_GUI --bin 并添加了

[dependencies.kiss-ui]
git = "https://github.com/cybergeek94/kiss-ui"

到 Cargo.toml

我将该网站上的一个简单示例剪切并粘贴到 main.rs 中

然后我跑了cargo run --verbose。确实如此

   Updating git repository `https://github.com/cybergeek94/kiss-ui`
    Updating registry `https://github.com/rust-lang/crates.io-index`
 Downloading iup-sys v0.0.3
 Downloading libc v0.2.14
 Downloading libc v0.1.12
   Compiling libc v0.1.12

...

warning: crate `Hello_GUI` should have a snake case name such as `hello_gui`, #[warn(non_snake_case)] on by default
error: linking with `gcc` failed: exit code: 1
note: "gcc" "-Wl,--enable-long-section-names" ...
note: ld: cannot find -liup
error: aborting due to previous error

所以我学到了两件事

  • 我需要使用蛇皮盒。

  • GUI 编程不是“基本使用”。

我对以上任何一点都没有抱怨,但可以就第二点使用一两条线索:

假设我想以一种简单的方式编写一个相当于 Hello World 的 GUI,我现在的主要选择是什么?

【问题讨论】:

    标签: windows user-interface rust


    【解决方案1】:

    According to its documentation,kiss-UI 依赖于the IUP library

    来自gcc (can't find -liup) 的错误表明您没有安装 IUP。您也许可以安装它并使其正常工作;这取决于IUP bindings used by kiss-UI是否可以应付windows。

    其他一些 GUI 库可以在 awesome-rust 找到。有与 Qt 和 Gtk 等库的绑定。如果你知道 windows API,你也可以查看winapi crate

    如果你想避免弄乱链接和其他东西,你可以尝试使用像 conrod 这样的纯 rust 库,它应该在 Windows 上“正常工作”。

    要回答您更广泛的问题:

    请参阅下载页面上的footnote。 rust 的 MSVC 版本取决于正在安装的 MSVC。 GNU/MinGW 构建是独立的。

    【讨论】:

      猜你喜欢
      • 2014-04-18
      • 1970-01-01
      • 2015-06-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多