修复 Rust 程序中文乱码问题 - 添加 UTF-8 编码设置
This commit is contained in:
6
push_screen_rust/.cargo/config.toml
Normal file
6
push_screen_rust/.cargo/config.toml
Normal file
@@ -0,0 +1,6 @@
|
||||
[build]
|
||||
target = "x86_64-pc-windows-gnu"
|
||||
|
||||
[target.x86_64-pc-windows-gnu]
|
||||
linker = "C:\\msys64\\mingw64\\bin\\x86_64-w64-mingw32-gcc.exe"
|
||||
ar = "C:\\msys64\\mingw64\\bin\\x86_64-w64-mingw32-ar.exe"
|
||||
4216
push_screen_rust/Cargo.lock
generated
Normal file
4216
push_screen_rust/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
25
push_screen_rust/Cargo.toml
Normal file
25
push_screen_rust/Cargo.toml
Normal file
@@ -0,0 +1,25 @@
|
||||
[package]
|
||||
name = "push_screen_rust"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
[dependencies]
|
||||
eframe = { version = "0.24", features = ["default"] }
|
||||
egui = "0.24"
|
||||
tokio = { version = "1", features = ["full"] }
|
||||
serde = { version = "1.0", features = ["derive"] }
|
||||
serde_json = "1.0"
|
||||
reqwest = { version = "0.11", features = ["json"] }
|
||||
anyhow = "1.0"
|
||||
tracing = "0.1"
|
||||
tracing-subscriber = "0.3"
|
||||
winapi = { version = "0.3", features = ["winuser", "windef", "wingdi", "libloaderapi", "shellapi", "combaseapi", "objbase", "shobjidl_core", "winerror", "winnls", "wincon", "winbase", "handleapi", "synchapi", "processthreadsapi", "impl-default", "commctrl", "dwmapi", "uxtheme"] }
|
||||
|
||||
[profile.release]
|
||||
opt-level = 3
|
||||
lto = true
|
||||
strip = true
|
||||
|
||||
[[bin]]
|
||||
name = "push_screen"
|
||||
path = "src/main.rs"
|
||||
251
push_screen_rust/src/main.rs
Normal file
251
push_screen_rust/src/main.rs
Normal file
@@ -0,0 +1,251 @@
|
||||
use eframe::egui;
|
||||
use std::process::{Command, Stdio};
|
||||
use std::sync::mpsc::{channel, Receiver};
|
||||
use std::thread;
|
||||
use std::time::Duration;
|
||||
use tracing::{info, error};
|
||||
|
||||
// Windows API 用于设置控制台编码
|
||||
#[cfg(windows)]
|
||||
extern "system" {
|
||||
fn SetConsoleOutputCP(wCodePageID: u32) -> i32;
|
||||
fn SetConsoleCP(wCodePageID: u32) -> i32;
|
||||
}
|
||||
|
||||
#[cfg(windows)]
|
||||
const CP_UTF8: u32 = 65001;
|
||||
|
||||
fn set_utf8_encoding() {
|
||||
#[cfg(windows)]
|
||||
unsafe {
|
||||
SetConsoleOutputCP(CP_UTF8);
|
||||
SetConsoleCP(CP_UTF8);
|
||||
}
|
||||
}
|
||||
|
||||
struct PushScreenApp {
|
||||
server_ip: String,
|
||||
server_port: String,
|
||||
ffmpeg_path: String,
|
||||
device_name: String,
|
||||
status: String,
|
||||
is_streaming: bool,
|
||||
rx: Receiver<StatusMessage>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
enum StatusMessage {
|
||||
Status(String),
|
||||
Error(String),
|
||||
}
|
||||
|
||||
impl PushScreenApp {
|
||||
fn new(_cc: &eframe::CreationContext<'_>) -> Self {
|
||||
let (tx, rx) = channel();
|
||||
|
||||
// 启动状态监控线程
|
||||
let tx_clone = tx.clone();
|
||||
thread::spawn(move || {
|
||||
loop {
|
||||
if let Err(e) = tx_clone.send(StatusMessage::Status("运行中".to_string())) {
|
||||
error!("状态发送失败: {}", e);
|
||||
break;
|
||||
}
|
||||
thread::sleep(Duration::from_secs(5));
|
||||
}
|
||||
});
|
||||
|
||||
Self {
|
||||
server_ip: "192.168.1.100".to_string(),
|
||||
server_port: "8080".to_string(),
|
||||
ffmpeg_path: r"C:\ffmpeg\bin\ffmpeg.exe".to_string(),
|
||||
device_name: "会议室主屏".to_string(),
|
||||
status: "就绪".to_string(),
|
||||
is_streaming: false,
|
||||
rx,
|
||||
}
|
||||
}
|
||||
|
||||
fn start_stream(&mut self) {
|
||||
if self.is_streaming {
|
||||
return;
|
||||
}
|
||||
|
||||
info!("开始推流: {}:{}", self.server_ip, self.server_port);
|
||||
|
||||
// 构建 FFmpeg 命令
|
||||
let output_url = format!(
|
||||
"rtmp://{}:{}/live/{}",
|
||||
self.server_ip, self.server_port, self.device_name
|
||||
);
|
||||
|
||||
let args = vec![
|
||||
"-f", "gdigrab",
|
||||
"-framerate", "30",
|
||||
"-i", "desktop",
|
||||
"-c:v", "libx264",
|
||||
"-preset", "ultrafast",
|
||||
"-tune", "zerolatency",
|
||||
"-f", "flv",
|
||||
&output_url,
|
||||
];
|
||||
|
||||
match Command::new(&self.ffmpeg_path)
|
||||
.args(&args)
|
||||
.stdout(Stdio::null())
|
||||
.stderr(Stdio::null())
|
||||
.spawn()
|
||||
{
|
||||
Ok(mut child) => {
|
||||
info!("FFmpeg 进程启动成功, PID: {:?}", child.id());
|
||||
self.is_streaming = true;
|
||||
self.status = format!("推流中 - {}", self.device_name);
|
||||
|
||||
// 监控进程
|
||||
thread::spawn(move || {
|
||||
match child.wait() {
|
||||
Ok(status) => {
|
||||
info!("FFmpeg 进程结束: {:?}", status);
|
||||
}
|
||||
Err(e) => {
|
||||
error!("等待 FFmpeg 进程失败: {}", e);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
Err(e) => {
|
||||
error!("启动 FFmpeg 失败: {}", e);
|
||||
self.status = format!("错误: {}", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fn stop_stream(&mut self) {
|
||||
if !self.is_streaming {
|
||||
return;
|
||||
}
|
||||
|
||||
info!("停止推流");
|
||||
|
||||
// 查找并终止 FFmpeg 进程
|
||||
#[cfg(windows)]
|
||||
{
|
||||
let _ = Command::new("taskkill")
|
||||
.args(&["/F", "/IM", "ffmpeg.exe"])
|
||||
.output();
|
||||
}
|
||||
|
||||
self.is_streaming = false;
|
||||
self.status = "已停止".to_string();
|
||||
}
|
||||
}
|
||||
|
||||
impl eframe::App for PushScreenApp {
|
||||
fn update(&mut self, ctx: &egui::Context, _frame: &mut eframe::Frame) {
|
||||
// 接收状态更新
|
||||
while let Ok(msg) = self.rx.try_recv() {
|
||||
match msg {
|
||||
StatusMessage::Status(s) => {
|
||||
if self.is_streaming {
|
||||
self.status = format!("推流中 - {}", s);
|
||||
}
|
||||
}
|
||||
StatusMessage::Error(e) => {
|
||||
self.status = format!("错误: {}", e);
|
||||
self.is_streaming = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
egui::CentralPanel::default().show(ctx, |ui| {
|
||||
ui.heading("投屏源控制系统");
|
||||
ui.add_space(20.0);
|
||||
|
||||
// 服务器设置
|
||||
ui.group(|ui| {
|
||||
ui.label("服务器设置");
|
||||
ui.horizontal(|ui| {
|
||||
ui.label("服务器 IP:");
|
||||
ui.text_edit_singleline(&mut self.server_ip);
|
||||
});
|
||||
ui.horizontal(|ui| {
|
||||
ui.label("端口:");
|
||||
ui.text_edit_singleline(&mut self.server_port);
|
||||
});
|
||||
});
|
||||
|
||||
ui.add_space(10.0);
|
||||
|
||||
// FFmpeg 设置
|
||||
ui.group(|ui| {
|
||||
ui.label("FFmpeg 设置");
|
||||
ui.horizontal(|ui| {
|
||||
ui.label("FFmpeg 路径:");
|
||||
ui.text_edit_singleline(&mut self.ffmpeg_path);
|
||||
});
|
||||
});
|
||||
|
||||
ui.add_space(10.0);
|
||||
|
||||
// 设备设置
|
||||
ui.group(|ui| {
|
||||
ui.label("设备设置");
|
||||
ui.horizontal(|ui| {
|
||||
ui.label("设备名称:");
|
||||
ui.text_edit_singleline(&mut self.device_name);
|
||||
});
|
||||
});
|
||||
|
||||
ui.add_space(20.0);
|
||||
|
||||
// 状态显示
|
||||
ui.group(|ui| {
|
||||
ui.label("状态:");
|
||||
ui.label(&self.status);
|
||||
});
|
||||
|
||||
ui.add_space(20.0);
|
||||
|
||||
// 控制按钮
|
||||
ui.horizontal(|ui| {
|
||||
if ui.button("开始推流").clicked() {
|
||||
self.start_stream();
|
||||
}
|
||||
|
||||
if ui.button("停止推流").clicked() {
|
||||
self.stop_stream();
|
||||
}
|
||||
|
||||
if ui.button("退出").clicked() {
|
||||
self.stop_stream();
|
||||
std::process::exit(0);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {
|
||||
// 设置 UTF-8 编码,解决中文乱码问题
|
||||
set_utf8_encoding();
|
||||
|
||||
// 初始化日志
|
||||
tracing_subscriber::fmt::init();
|
||||
info!("应用程序启动");
|
||||
|
||||
let options = eframe::NativeOptions {
|
||||
viewport: egui::ViewportBuilder::default()
|
||||
.with_inner_size([520.0, 420.0])
|
||||
.with_resizable(false),
|
||||
..Default::default()
|
||||
};
|
||||
|
||||
if let Err(e) = eframe::run_native(
|
||||
"投屏源控制",
|
||||
options,
|
||||
Box::new(|cc| Box::new(PushScreenApp::new(cc))),
|
||||
) {
|
||||
eprintln!("应用程序错误: {}", e);
|
||||
std::process::exit(1);
|
||||
}
|
||||
}
|
||||
1
push_screen_rust/target/.rustc_info.json
Normal file
1
push_screen_rust/target/.rustc_info.json
Normal file
@@ -0,0 +1 @@
|
||||
{"rustc_fingerprint":10599383275472545403,"outputs":{"6027984484328994041":{"success":true,"status":"","code":0,"stdout":"___.exe\nlib___.rlib\n___.dll\n___.dll\nlib___.a\n___.dll\nC:\\msys64\\mingw64\noff\n___\ndebug_assertions\npanic=\"unwind\"\nproc_macro\ntarget_abi=\"\"\ntarget_arch=\"x86_64\"\ntarget_endian=\"little\"\ntarget_env=\"gnu\"\ntarget_family=\"windows\"\ntarget_feature=\"cmpxchg16b\"\ntarget_feature=\"fxsr\"\ntarget_feature=\"sse\"\ntarget_feature=\"sse2\"\ntarget_feature=\"sse3\"\ntarget_has_atomic=\"128\"\ntarget_has_atomic=\"16\"\ntarget_has_atomic=\"32\"\ntarget_has_atomic=\"64\"\ntarget_has_atomic=\"8\"\ntarget_has_atomic=\"ptr\"\ntarget_os=\"windows\"\ntarget_pointer_width=\"64\"\ntarget_vendor=\"pc\"\nwindows\n","stderr":""},"17747080675513052775":{"success":true,"status":"","code":0,"stdout":"rustc 1.91.1 (ed61e7d7e 2025-11-07) (Rev1, Built by MSYS2 project)\nbinary: rustc\ncommit-hash: ed61e7d7e242494fb7057f2657300d9e77bb4fcb\ncommit-date: 2025-11-07\nhost: x86_64-pc-windows-gnu\nrelease: 1.91.1\nLLVM version: 21.1.5\n","stderr":""},"7971740275564407648":{"success":true,"status":"","code":0,"stdout":"___.exe\nlib___.rlib\n___.dll\n___.dll\nlib___.a\n___.dll\nC:\\Users\\dxzq\\.rustup\\toolchains\\stable-x86_64-pc-windows-gnu\noff\n___\ndebug_assertions\npanic=\"unwind\"\nproc_macro\ntarget_abi=\"\"\ntarget_arch=\"x86_64\"\ntarget_endian=\"little\"\ntarget_env=\"gnu\"\ntarget_family=\"windows\"\ntarget_feature=\"cmpxchg16b\"\ntarget_feature=\"fxsr\"\ntarget_feature=\"sse\"\ntarget_feature=\"sse2\"\ntarget_feature=\"sse3\"\ntarget_has_atomic=\"128\"\ntarget_has_atomic=\"16\"\ntarget_has_atomic=\"32\"\ntarget_has_atomic=\"64\"\ntarget_has_atomic=\"8\"\ntarget_has_atomic=\"ptr\"\ntarget_os=\"windows\"\ntarget_pointer_width=\"64\"\ntarget_vendor=\"pc\"\nwindows\n","stderr":""}},"successes":{}}
|
||||
0
push_screen_rust/target/debug/.cargo-lock
Normal file
0
push_screen_rust/target/debug/.cargo-lock
Normal file
@@ -0,0 +1 @@
|
||||
dcaf19e9fb4f294d
|
||||
@@ -0,0 +1 @@
|
||||
{"rustc":13930636876917425310,"features":"[\"no-rng\", \"std\"]","declared_features":"[\"atomic-polyfill\", \"compile-time-rng\", \"const-random\", \"default\", \"getrandom\", \"nightly-arm-aes\", \"no-rng\", \"runtime-rng\", \"serde\", \"std\"]","target":17883862002600103897,"profile":15657897354478470176,"path":2185400903901838128,"deps":[[5398981501050481332,"version_check",false,7018307984236125712]],"local":[{"CheckDepInfo":{"dep_info":"debug\\.fingerprint\\ahash-f304c3136665122d\\dep-build-script-build-script-build","checksum":false}}],"rustflags":[],"config":10911254978849345216,"compile_kind":0}
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
@@ -0,0 +1 @@
|
||||
75c9e2941e3b931a
|
||||
@@ -0,0 +1 @@
|
||||
{"rustc":13930636876917425310,"features":"[\"default\", \"std\"]","declared_features":"[\"backtrace\", \"default\", \"std\"]","target":5408242616063297496,"profile":15657897354478470176,"path":15805196279142170715,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug\\.fingerprint\\anyhow-6ae857c163f10895\\dep-build-script-build-script-build","checksum":false}}],"rustflags":[],"config":10911254978849345216,"compile_kind":0}
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
@@ -0,0 +1 @@
|
||||
74ebdce6928b12b3
|
||||
@@ -0,0 +1 @@
|
||||
{"rustc":13930636876917425310,"features":"[]","declared_features":"[]","target":6962977057026645649,"profile":15657897354478470176,"path":6612028586417981611,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug\\.fingerprint\\autocfg-364585aa26836aa7\\dep-lib-autocfg","checksum":false}}],"rustflags":[],"config":10911254978849345216,"compile_kind":0}
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
@@ -0,0 +1 @@
|
||||
42f9ef22cc2f14f3
|
||||
@@ -0,0 +1 @@
|
||||
{"rustc":13930636876917425310,"features":"[]","declared_features":"[]","target":11496395835559002815,"profile":15657897354478470176,"path":17181723879467618639,"deps":[[4289358735036141001,"proc_macro2",false,11372396126894352681],[10420560437213941093,"syn",false,14619339685500564173],[13111758008314797071,"quote",false,17020796038706037280]],"local":[{"CheckDepInfo":{"dep_info":"debug\\.fingerprint\\bytemuck_derive-4368a449475c93b2\\dep-lib-bytemuck_derive","checksum":false}}],"rustflags":[],"config":10911254978849345216,"compile_kind":0}
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
@@ -0,0 +1 @@
|
||||
8a44dd105157dfd4
|
||||
@@ -0,0 +1 @@
|
||||
{"rustc":13930636876917425310,"features":"[]","declared_features":"[]","target":14022534369768855544,"profile":15657897354478470176,"path":7690881672510681075,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug\\.fingerprint\\cfg_aliases-ecfecae26b019736\\dep-lib-cfg_aliases","checksum":false}}],"rustflags":[],"config":10911254978849345216,"compile_kind":0}
|
||||
@@ -0,0 +1 @@
|
||||
61ffad6b57fd9591
|
||||
@@ -0,0 +1 @@
|
||||
{"rustc":13930636876917425310,"features":"[\"default\", \"std\"]","declared_features":"[\"default\", \"nightly\", \"std\"]","target":5408242616063297496,"profile":15657897354478470176,"path":11330017760966690325,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug\\.fingerprint\\crc32fast-acca06e2333a7997\\dep-build-script-build-script-build","checksum":false}}],"rustflags":[],"config":10911254978849345216,"compile_kind":0}
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
@@ -0,0 +1 @@
|
||||
4cb5029ea7a6bf74
|
||||
@@ -0,0 +1 @@
|
||||
{"rustc":13930636876917425310,"features":"[]","declared_features":"[\"default\", \"std\"]","target":9331843185013996172,"profile":15657897354478470176,"path":15158385652565615259,"deps":[[4289358735036141001,"proc_macro2",false,11372396126894352681],[10420560437213941093,"syn",false,14619339685500564173],[13111758008314797071,"quote",false,17020796038706037280]],"local":[{"CheckDepInfo":{"dep_info":"debug\\.fingerprint\\displaydoc-748d1d86213ace6e\\dep-lib-displaydoc","checksum":false}}],"rustflags":[],"config":10911254978849345216,"compile_kind":0}
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
@@ -0,0 +1 @@
|
||||
caa1d7a9fb56036f
|
||||
@@ -0,0 +1 @@
|
||||
{"rustc":13930636876917425310,"features":"[]","declared_features":"[\"unstable_generator_utils\"]","target":15798113755487949458,"profile":15657897354478470176,"path":6421812756211753166,"deps":[[4891955779658748086,"khronos_api",false,10663676921999921129],[10630857666389190470,"log",false,8123659262990003668],[13254818194777074109,"xml",false,13960025356782805773]],"local":[{"CheckDepInfo":{"dep_info":"debug\\.fingerprint\\gl_generator-4bfbc42777387ea8\\dep-lib-gl_generator","checksum":false}}],"rustflags":[],"config":10911254978849345216,"compile_kind":0}
|
||||
@@ -0,0 +1 @@
|
||||
695bd5b4722e5889
|
||||
@@ -0,0 +1 @@
|
||||
{"rustc":13930636876917425310,"features":"[\"default\", \"egl\", \"glutin_egl_sys\", \"glutin_glx_sys\", \"glutin_wgl_sys\", \"glx\", \"libloading\", \"wayland\", \"wayland-sys\", \"wgl\", \"windows-sys\", \"x11\", \"x11-dl\"]","declared_features":"[\"default\", \"egl\", \"glutin_egl_sys\", \"glutin_glx_sys\", \"glutin_wgl_sys\", \"glx\", \"libloading\", \"wayland\", \"wayland-sys\", \"wgl\", \"windows-sys\", \"x11\", \"x11-dl\"]","target":5408242616063297496,"profile":15657897354478470176,"path":5308886453165092119,"deps":[[13650835054453599687,"cfg_aliases",false,15339074861534102666]],"local":[{"CheckDepInfo":{"dep_info":"debug\\.fingerprint\\glutin-25dce384231d6fd8\\dep-build-script-build-script-build","checksum":false}}],"rustflags":[],"config":10911254978849345216,"compile_kind":0}
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
@@ -0,0 +1 @@
|
||||
cdcccc655a5c09a8
|
||||
@@ -0,0 +1 @@
|
||||
{"rustc":13930636876917425310,"features":"[\"default\", \"egl\", \"glx\", \"wayland\", \"wgl\", \"x11\"]","declared_features":"[\"default\", \"egl\", \"glx\", \"wayland\", \"wgl\", \"x11\"]","target":5408242616063297496,"profile":15657897354478470176,"path":18214456259829518475,"deps":[[13650835054453599687,"cfg_aliases",false,15339074861534102666]],"local":[{"CheckDepInfo":{"dep_info":"debug\\.fingerprint\\glutin-winit-e23e88c92a893c42\\dep-build-script-build-script-build","checksum":false}}],"rustflags":[],"config":10911254978849345216,"compile_kind":0}
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
@@ -0,0 +1 @@
|
||||
5024ecdcb93966f2
|
||||
@@ -0,0 +1 @@
|
||||
{"rustc":13930636876917425310,"features":"[]","declared_features":"[]","target":5408242616063297496,"profile":15657897354478470176,"path":2795105638653073136,"deps":[[8440717196623885952,"gl_generator",false,7999333002026394058]],"local":[{"CheckDepInfo":{"dep_info":"debug\\.fingerprint\\glutin_egl_sys-8140289ad96dfce3\\dep-build-script-build-script-build","checksum":false}}],"rustflags":[],"config":10911254978849345216,"compile_kind":0}
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
@@ -0,0 +1 @@
|
||||
570a52abf423692e
|
||||
@@ -0,0 +1 @@
|
||||
{"rustc":13930636876917425310,"features":"[]","declared_features":"[]","target":5408242616063297496,"profile":15657897354478470176,"path":10910735772154249068,"deps":[[8440717196623885952,"gl_generator",false,7999333002026394058]],"local":[{"CheckDepInfo":{"dep_info":"debug\\.fingerprint\\glutin_wgl_sys-b39101277c26438b\\dep-build-script-build-script-build","checksum":false}}],"rustflags":[],"config":10911254978849345216,"compile_kind":0}
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
@@ -0,0 +1 @@
|
||||
87c395f1d7d12e00
|
||||
@@ -0,0 +1 @@
|
||||
{"rustc":13930636876917425310,"features":"[\"default\", \"std\"]","declared_features":"[\"default\", \"std\"]","target":17883862002600103897,"profile":1568806740615973024,"path":14372532822036902501,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug\\.fingerprint\\httparse-424f092ef674a20f\\dep-build-script-build-script-build","checksum":false}}],"rustflags":[],"config":10911254978849345216,"compile_kind":0}
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
@@ -0,0 +1 @@
|
||||
54c692caf97d246a
|
||||
@@ -0,0 +1 @@
|
||||
{"rustc":13930636876917425310,"features":"[]","declared_features":"[]","target":5408242616063297496,"profile":11659310115634824739,"path":8292851198544384313,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug\\.fingerprint\\icu_normalizer_data-eb11fa6d8f122cfe\\dep-build-script-build-script-build","checksum":false}}],"rustflags":[],"config":10911254978849345216,"compile_kind":0}
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
@@ -0,0 +1 @@
|
||||
3a8167bee6d36ca7
|
||||
@@ -0,0 +1 @@
|
||||
{"rustc":13930636876917425310,"features":"[]","declared_features":"[]","target":5408242616063297496,"profile":11659310115634824739,"path":5503986247013230460,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug\\.fingerprint\\icu_properties_data-07380246e5351eef\\dep-build-script-build-script-build","checksum":false}}],"rustflags":[],"config":10911254978849345216,"compile_kind":0}
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
@@ -0,0 +1 @@
|
||||
e90f5677a9fdfc93
|
||||
@@ -0,0 +1 @@
|
||||
{"rustc":13930636876917425310,"features":"[]","declared_features":"[]","target":8622573395090798477,"profile":15657897354478470176,"path":9115431365199026144,"deps":[[4891955779658748086,"build_script_build",false,4869955772412316487]],"local":[{"CheckDepInfo":{"dep_info":"debug\\.fingerprint\\khronos_api-5d1d3d1802a6a141\\dep-lib-khronos_api","checksum":false}}],"rustflags":[],"config":10911254978849345216,"compile_kind":0}
|
||||
@@ -0,0 +1 @@
|
||||
47cb7f0ef98e9543
|
||||
@@ -0,0 +1 @@
|
||||
{"rustc":13930636876917425310,"features":"","declared_features":"","target":0,"profile":0,"path":0,"deps":[[4891955779658748086,"build_script_build",false,8365432273146085337]],"local":[{"Precalculated":"3.1.0"}],"rustflags":[],"config":0,"compile_kind":0}
|
||||
@@ -0,0 +1 @@
|
||||
d9ff759954fc1774
|
||||
@@ -0,0 +1 @@
|
||||
{"rustc":13930636876917425310,"features":"[]","declared_features":"[]","target":12318548087768197662,"profile":15657897354478470176,"path":15035716091694435488,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug\\.fingerprint\\khronos_api-e47449fd1a025be1\\dep-build-script-build-script-build","checksum":false}}],"rustflags":[],"config":10911254978849345216,"compile_kind":0}
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
@@ -0,0 +1 @@
|
||||
d4add4060f09bd70
|
||||
@@ -0,0 +1 @@
|
||||
{"rustc":13930636876917425310,"features":"[]","declared_features":"[\"kv\", \"kv_serde\", \"kv_std\", \"kv_sval\", \"kv_unstable\", \"kv_unstable_serde\", \"kv_unstable_std\", \"kv_unstable_sval\", \"max_level_debug\", \"max_level_error\", \"max_level_info\", \"max_level_off\", \"max_level_trace\", \"max_level_warn\", \"release_max_level_debug\", \"release_max_level_error\", \"release_max_level_info\", \"release_max_level_off\", \"release_max_level_trace\", \"release_max_level_warn\", \"serde\", \"serde_core\", \"std\", \"sval\", \"sval_ref\", \"value-bag\"]","target":6550155848337067049,"profile":15657897354478470176,"path":15728298675995551211,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug\\.fingerprint\\log-ed2b86872b2a8f6a\\dep-lib-log","checksum":false}}],"rustflags":[],"config":10911254978849345216,"compile_kind":0}
|
||||
@@ -0,0 +1 @@
|
||||
21a50439b3460394
|
||||
@@ -0,0 +1 @@
|
||||
{"rustc":13930636876917425310,"features":"[\"default\"]","declared_features":"[\"default\", \"unstable_const\"]","target":12318548087768197662,"profile":15657897354478470176,"path":15556372505973390879,"deps":[[13927012481677012980,"autocfg",false,12903529345424616308]],"local":[{"CheckDepInfo":{"dep_info":"debug\\.fingerprint\\memoffset-195b060b89858991\\dep-build-script-build-script-build","checksum":false}}],"rustflags":[],"config":10911254978849345216,"compile_kind":0}
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
@@ -0,0 +1 @@
|
||||
6561bd7df5b12f29
|
||||
@@ -0,0 +1 @@
|
||||
{"rustc":13930636876917425310,"features":"[\"default\"]","declared_features":"[\"alpn\", \"alpn-accept\", \"default\", \"vendored\"]","target":5408242616063297496,"profile":15657897354478470176,"path":12195886759907297911,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug\\.fingerprint\\native-tls-8073531feb4165d6\\dep-build-script-build-script-build","checksum":false}}],"rustflags":[],"config":10911254978849345216,"compile_kind":0}
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
@@ -0,0 +1 @@
|
||||
d8da8b5f5f1d4a58
|
||||
@@ -0,0 +1 @@
|
||||
{"rustc":13930636876917425310,"features":"[\"default\", \"std\"]","declared_features":"[\"default\", \"i128\", \"libm\", \"std\"]","target":5408242616063297496,"profile":15657897354478470176,"path":2771066716483007942,"deps":[[13927012481677012980,"autocfg",false,12903529345424616308]],"local":[{"CheckDepInfo":{"dep_info":"debug\\.fingerprint\\num-traits-dc68ca8185e94969\\dep-build-script-build-script-build","checksum":false}}],"rustflags":[],"config":10911254978849345216,"compile_kind":0}
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
@@ -0,0 +1 @@
|
||||
c5a2205313a21128
|
||||
@@ -0,0 +1 @@
|
||||
{"rustc":13930636876917425310,"features":"[]","declared_features":"[\"backtrace\", \"deadlock_detection\", \"nightly\", \"petgraph\"]","target":5408242616063297496,"profile":15657897354478470176,"path":5966327558530280299,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug\\.fingerprint\\parking_lot_core-23aa6f103ce91ee2\\dep-build-script-build-script-build","checksum":false}}],"rustflags":[],"config":10911254978849345216,"compile_kind":0}
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
@@ -0,0 +1 @@
|
||||
295fc6c826060ef9
|
||||
@@ -0,0 +1 @@
|
||||
{"rustc":13930636876917425310,"features":"[]","declared_features":"[]","target":13051495773103412369,"profile":15657897354478470176,"path":4774012313890030370,"deps":[[17605717126308396068,"build_script_build",false,13989604048922621858]],"local":[{"CheckDepInfo":{"dep_info":"debug\\.fingerprint\\paste-35124ec03ea2174b\\dep-lib-paste","checksum":false}}],"rustflags":[],"config":10911254978849345216,"compile_kind":0}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user