使用cfg_attr的path属性时路径丢失问题咨询
使用cfg_attr的path属性时路径丢失问题咨询
嘿各位Rust开发者,我最近在做一个需要根据操作系统条件编译不同代码的项目,碰到了个关于文件系统结构的问题,卡了好一阵,想来请教下大家。
先给大家看看我的最小复现项目结构:
src linux linux_something.rs linux.rs main.rs Cargo.toml
其中linux.rs的内容很简单,就是声明子模块:
mod linux_something;
我在main.rs里尝试用cfg_attr来根据目标操作系统引入对应的平台模块,代码大概是这样的:
#[cfg_attr(target_os = "linux", path = "linux.rs")] mod platform; fn main() { // 计划在这里调用平台相关的逻辑 }
结果编译的时候直接报错,说找不到linux_something这个模块!明明linux目录和linux.rs在同一个层级,按道理应该能正常解析子模块才对,难道用cfg_attr的path属性时,模块的路径解析规则会发生变化吗?
备注:内容来源于stack exchange,提问作者user2011659
相关产品推荐
相关产品推荐

