< 返回我的博客

willingcoderverytime 发表于 2024-09-21 16:52

Tags:build,OUT_DIR

问题

工程build 或 run 一直报.

 error: OUT_DIR env var is not set, do you have a build script?

但工程里面一个子crate 有build.rs 是一个lib ,可以正常的build,此变量是cargo启动时根据不同crate build过程> > 机生成的文件路径,似乎自身build过程发生了意外.

原因

个人工程根目录是一个workspace没有任何代码,执行是通过bin指定的, cargo build 以及 cargo run是在跟目录下做的. 且根目录无build文件, 执行文件并未设定成一个crate是以单独文件形式存在,因此一系列状态导致了cargo未设定out_dir.

解决方案

因为个人启动类仅只有一个man.rs ,单独列出来一个src不好看,因此创建了一个build在根目录,并在根目录获取了一次OUT_DIR

复盘

若不按照cargo规约限定工程,那么cargo不一定能很好的完成前置处理工作. 令其完整完成工作需要引入一定程度并不是很好的代码.

评论区

写评论

还没有评论

1 共 0 条评论, 1 页