I am trying to build a Rust program on Windows 10 having a GUI. When trying to compile a Rust file with gtk dependency on Windows 10 I keep getting the following error messages.
**
**
warning: unused manifest key: target.i686-pc-windows-msvc.freetype
warning: unused manifest key: target.x86_64-pc-windows-msvc.freetype
Compiling freetype-sys v0.13.1
Compiling glib-sys v0.10.0 (GitHub - gtk-rs/sys: DEPRECATED, each crate has its own sys folder now.)
error: failed to run custom build command for freetype-sys v0.13.1
--- stderr
thread 'main' panicked at '
failed to execute command: The system cannot find the file specified. (os error 2)
is cmake not installed?
build script failed, must exit now', C:\Users\3830101.cargo\registry\src\github.com-1ecc6299db9ec823\cmake-0.1.45\src\lib.rs:894:5
note: run with RUST_BACKTRACE=1 environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...
error: build failed
--- stderr
Failed to run "pkg-config" "--libs" "--cflags" "glib-2.0" "glib-2.0 >= 2.44": The system cannot find the file specified. (os error 2)
warning: build failed, waiting for other jobs to finish...
error: build failed
Now it wants a C dependency "glib-2.0". This should be installed with GTK.
gtk/glib is a C dependency. Cargo can only install Rust dependencies for you, but won't help you at all with any C dependencies. In case of glib-2.0 you have to figure out yourself where to find it and how to install. Cargo can't do it.
I'm not sure how to install glib on Windows. The official instructions are for MSYS2, which may require switching Rust target to the gnu one? Maybe Microsoft's vcpkg will have it too?
I tried cargo check command (which gave out the error messages as shown in earlier reply) only after installing MSYS2. Not sure where I have gone wrong.
I have used commands in "pacman -Syu", "pacman -Su" and " pacman -S --disable-download-timeout mingw-w64-x86_64-toolchain git" in MSYS2 console. Also, used "cargo clean" command. However, error in attached picture is popping up. How to fix this error.