通常情况下,Slint 可以在 Windows、macOS 和常见的 Linux 发行版上运行。下表列出了我们特别测试过的版本。总体目标是支持 Slint 版本发布时各家供应商所支持的操作系统。
| 操作系统 | 架构 |
|---|---|
| Windows 10 | x86-64 |
| Windows 11 | x86-64, aarch64 |
处理控制台窗口
当你运行应用程序时,默认情况下会显示一个控制台窗口。
通过指定 WINDOWS 子系统来禁用控制台。
从命令行运行应用程序时,如果子系统设置为 windows,则它将不再输出 stdout。要恢复它,可以考虑使用 FreeConsole()。
更多详细信息请参见 #3235
将以下代码添加到包含 fn main() 的 .rs 文件的顶部:
#![windows_subsystem = "windows"]或者如果你希望在调试模式下保留控制台输出:
#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]通过在可执行 target 上设置 WIN32_EXECUTABLE target 属性来选择 WINDOWS 子系统:
add_executable(my_program ...)set_property(TARGET my_program APPEND PROPERTY WIN32_EXECUTABLE TRUE)cmake
将你的 Python 脚本的扩展名从 .py 更改为 .pyw,与 Python 文件关联的默认 Python 解释器将在没有控制台窗口的情况下启动。或者,使用 pythonw.exe 代替 python.exe 来启动你的 Python 脚本。
Rust:栈溢出
在 Windows 上开发 Rust 应用程序时,你可能迟早会观察到程序因 STATUS_STACK_OVERFLOW 而中止,尤其是在调试构建中。这是一个已知问题,是高栈空间需求与 MSVC 默认为主线程分配的栈大小(与其他操作系统相比明显更小)共同造成的。
可以通过配置链接器来修复此问题。在你的项目中创建一个 .cargo\config.toml 文件(注意 .cargo 子目录),内容如下:
[target.x86_64-pc-windows-msvc]# Increase default stack size to avoid running out of stack# space in debug builds. The size matches Linux's default.rustflags = ["-C", "link-arg=/STACK:8000000"][target.aarch64-pc-windows-msvc]# Increase default stack size to avoid running out of stack# space in debug builds. The size matches Linux's default.rustflags = ["-C", "link-arg=/STACK:8000000"]| 操作系统 | 架构 |
|---|---|
| macOS 14 Sonoma | aarch64 |
| macOS 15 Sequoia | aarch64 |
| macOS 26 | aarch64 |
Linux 桌面发行版呈现出多样化的格局,只要它们使用 Wayland 或 X-Windows、glibc 和 d-bus,Slint 应该能在其中任何一个上运行。如果某个 Linux 发行版提供长期支持(LTS),那么在 Slint 版本发布时,Slint 应该在最新的 LTS 或更新的版本上运行。
其他平台
如果你希望在其它平台/版本上使用 Slint,请联系我们。