4 个版本
0.2.0 | 2023 年 4 月 4 日 |
---|---|
0.1.2 | 2023 年 3 月 28 日 |
0.1.1 | 2023 年 3 月 26 日 |
0.1.0 | 2023 年 3 月 26 日 |
#728 in 硬件支持
66 每月下载量
在 lemna-wx-rs 中使用
53KB
1.5K SLoC
wx-rs
这是一个 alpha 版本。不要对我期望过高。
目前只支持在 MSVC 工具链上构建
为 Rust 提供的 wxWidgets 部分绑定。目的是导入此库,并静态链接 wxWidgets 所提供的所有组件。实现了 HasRawWindowHandle
。使用回调进行渲染和事件处理。特性
- 窗口初始化
- 键盘、鼠标事件
- 剪贴板支持
- 原生菜单
- 光标选择
一些很棒的功能
- 构建脚本只在 MSVC 上进行过测试。之前我已经使用 GNU 工具链在 OSX 和 Windows 上编译过。没有理由认为这不能在 Linux 上工作。
- Windows/Linux 的图标支持
构建
这个 crate 采取的方法是将 wxWidgets 下载到 ./dist
目录中,然后进行构建。这意味着你需要一个能够编译 wxWidgets 的工具链。
为什么我们这样做而不是使用子模块?因为使用子模块时,cargo 会自然检出文件,但这是我们不希望的,因为我们希望 cargo 在打包时忽略这些文件(因为 wxWidgets 非常大:在去除所有非源文件后,包的大小仍然约为 100MB)。
为什么我们保存/编译到 dist
而不是 cargo 偏好的 OUT_DIR
?因为使用后者,我们可能需要更频繁地重新编译 wxWidgets。由于这需要相当长的时间,因此只编译一次并将工件永久保留下来要更加方便。
如果你想进行全新安装,只需运行 rm -R ./dist
。
构建 wxWidgets
Windows
使用 MSVC 工具链
请确保您正在使用 "x64 Native Tools Command Prompt for VS 2019",并且在首次编译时 cargo 已添加到您的路径。构建完成后,msys 可以很好地继续从 Rust 侧构建内容。
在 Windows 上使用 GNU 工具链
这依赖于 nightly rust 来正确构建
获取 MSYS2
$ pacman -Syu
$ pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-make mingw-w64-x86_64-libexpat mingw-w64-x86_64-zlib msys2-w32api-runtime pacman -S mingw-w64-x86_64-lld
构建
这是需要集成到构建脚本中的内容笔记。
在MSYS2 MinGW64终端中
$ cd dist/wxWidgets
$ mkdir msw64-release-build
$ ../configure --with-opengl --disable-shared
$ make -j20
使用OSX工具链
...为什么没有文档说明?:(
依赖项
~0.1–2.2MB
~36K SLoC