是否有宏或类似的解决方法在编译时包含源文件夹 (src) 路径?
Is there a macro or similar workaround to include the source folder (src) path at compile time?
是否有 Rust 宏或类似的解决方法在编译时或特别是在执行 cargo build
?
我已经成功地完成了类似的事情,我使用 include_str!
来包含文件内容,但我需要知道是否可以在代码中直接包含 src 路径。
不,但您可以使用 file!
:
接近
const FILE: &'static str = concat!(env!("CARGO_MANIFEST_DIR"), "/", file!());
fn main() {
use std::path::Path;
println!("FILE: {:?}", FILE);
println!("src path: {:?}", Path::new(FILE).parent());
}
FILE: "/playground/src/main.rs"
src path: Some("/playground/src")
是否有 Rust 宏或类似的解决方法在编译时或特别是在执行 cargo build
?
我已经成功地完成了类似的事情,我使用 include_str!
来包含文件内容,但我需要知道是否可以在代码中直接包含 src 路径。
不,但您可以使用 file!
:
const FILE: &'static str = concat!(env!("CARGO_MANIFEST_DIR"), "/", file!());
fn main() {
use std::path::Path;
println!("FILE: {:?}", FILE);
println!("src path: {:?}", Path::new(FILE).parent());
}
FILE: "/playground/src/main.rs"
src path: Some("/playground/src")