You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.13 17:00:26