hi im trying to build my code with rustc but it cannot find crate which is installed with cargo and also running code with $ cargo run successfully runs the code.
Any ideas?
use glob::glob;
fn main() {
for entry in glob("/home/user/*.jpg").unwrap(){
match entry {
Ok(path) => println!("{:?}", path.display()),
Err(e) => println!("{:?}",e),
}
};
}
Toml file
[package]
name = "test1"
version = "0.1.0"
authors = ["ieuD <>"]
edition = "2018"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
glob = "0.3.0"
Error
╰─ rustc src/main.rs
error[E0432]: unresolved import `glob`
--> src/main.rs:1:5
|
1 | use glob::glob;
| ^^^^ maybe a missing crate `glob`?
error: aborting due to previous error
For more information about this error, try `rustc --explain E0432`.
If you use rustc without cargo, you must explicitly tell him where to look for dependencies. Try doing cargo build -v to see how cargo do it itself, or check rustc documentation to find out.
Cargo doesn't have any way to “install” libraries. (cargo install is only for binaries.)
If you have previously built your project using Cargo, the dependencies will be in your target folder, and you can use cargo build -v to see how to pass them to rustc. Otherwise, you can compile each dependency separately, then pass rustc the locations where you compiled them.
Cargo is not just an installer, but a whole build system that manages dependencies. You generally can't use just rustc if you want to use cargo dependencies (you'd have to reinvent all of cargo).