Reputation: 65
Use cargo init to crate the project, then add the gtk4-rs dependencies. Here is the Cargo.toml file
[package]
name = "study_rust"
version = "0.1.0"
edition = "2018"
[dependencies.gtk]
path = "D:/gtk4-rs/gtk4"
package = "gtk4"
Here is the main.rs
fn main() {
print!("ok")
}
then I run the cargo build:
cargo build
Compiling glib-sys v0.15.0 (https://github.com/gtk-rs/gtk-rs-core#693878b4)
Compiling gobject-sys v0.15.0 (https://github.com/gtk-rs/gtk-rs-core#693878b4)
Compiling gio-sys v0.15.0 (https://github.com/gtk-rs/gtk-rs-core#693878b4)
Compiling pango-sys v0.15.0 (https://github.com/gtk-rs/gtk-rs-core#693878b4)
Compiling gdk-pixbuf-sys v0.15.0 (https://github.com/gtk-rs/gtk-rs-core#693878b4)
Compiling cairo-sys-rs v0.15.0 (https://github.com/gtk-rs/gtk-rs-core#693878b4)
Compiling gdk4-sys v0.3.0 (D:\gtk4-rs\gdk4\sys)
Compiling graphene-sys v0.15.0 (https://github.com/gtk-rs/gtk-rs-core#693878b4)
Compiling gsk4-sys v0.3.0 (D:\gtk4-rs\gsk4\sys)
Compiling gtk4-sys v0.3.0 (D:\gtk4-rs\gtk4\sys)
Compiling glib v0.15.0 (https://github.com/gtk-rs/gtk-rs-core#693878b4)
Compiling gio v0.15.0 (https://github.com/gtk-rs/gtk-rs-core#693878b4)
Compiling pango v0.15.0 (https://github.com/gtk-rs/gtk-rs-core#693878b4)
Compiling cairo-rs v0.15.0 (https://github.com/gtk-rs/gtk-rs-core#693878b4)
Compiling graphene-rs v0.15.0 (https://github.com/gtk-rs/gtk-rs-core#693878b4)
Compiling gdk-pixbuf v0.15.0 (https://github.com/gtk-rs/gtk-rs-core#693878b4)
Compiling gdk4 v0.3.0 (D:\gtk4-rs\gdk4)
Compiling gsk4 v0.3.0 (D:\gtk4-rs\gsk4)
Compiling gtk4 v0.3.0 (D:\gtk4-rs\gtk4)
Compiling study_rust v0.1.0 (C:\study_projects\study_rust)
Finished dev [unoptimized + debuginfo] target(s) in 44.28s
it takes several seconds (44.28s) to finish.
then I modify the main.rs,
fn main() {
print!("ok, the tiny change of string!!!!")
}
then I run the cargo build again: i don't understand why every time run the cargo build should recomile all the gtk-rs dependencies. This takes several seconds to finish even i just change some print string. There're must be something wrong that every time take so long to build the target executable file.
cargo build
Compiling glib-sys v0.15.0 (https://github.com/gtk-rs/gtk-rs-core#693878b4)
Compiling gobject-sys v0.15.0 (https://github.com/gtk-rs/gtk-rs-core#693878b4)
Compiling gio-sys v0.15.0 (https://github.com/gtk-rs/gtk-rs-core#693878b4)
Compiling pango-sys v0.15.0 (https://github.com/gtk-rs/gtk-rs-core#693878b4)
Compiling cairo-sys-rs v0.15.0 (https://github.com/gtk-rs/gtk-rs-core#693878b4)
Compiling gdk-pixbuf-sys v0.15.0 (https://github.com/gtk-rs/gtk-rs-core#693878b4)
Compiling graphene-sys v0.15.0 (https://github.com/gtk-rs/gtk-rs-core#693878b4)
Compiling gdk4-sys v0.3.0 (D:\gtk4-rs\gdk4\sys)
Compiling gsk4-sys v0.3.0 (D:\gtk4-rs\gsk4\sys)
Compiling gtk4-sys v0.3.0 (D:\gtk4-rs\gtk4\sys)
Compiling glib v0.15.0 (https://github.com/gtk-rs/gtk-rs-core#693878b4)
Compiling gio v0.15.0 (https://github.com/gtk-rs/gtk-rs-core#693878b4)
Compiling pango v0.15.0 (https://github.com/gtk-rs/gtk-rs-core#693878b4)
Compiling cairo-rs v0.15.0 (https://github.com/gtk-rs/gtk-rs-core#693878b4)
Compiling graphene-rs v0.15.0 (https://github.com/gtk-rs/gtk-rs-core#693878b4)
Compiling gdk-pixbuf v0.15.0 (https://github.com/gtk-rs/gtk-rs-core#693878b4)
Compiling gdk4 v0.3.0 (D:\gtk4-rs\gdk4)
Compiling gsk4 v0.3.0 (D:\gtk4-rs\gsk4)
Compiling gtk4 v0.3.0 (D:\gtk4-rs\gtk4)
Compiling study_rust v0.1.0 (C:\study_projects\study_rust)
Finished dev [unoptimized + debuginfo] target(s) in **42.35s**
Upvotes: 5
Views: 1126
Reputation: 1539
You'll need to specify build.incremental = true
for Cargo.
In the same folder of the Cargo.toml
file, create the folder .cargo
. Inside this .cargo
folder, create the file config.toml
with the following content:
[build]
incremental = true
Reference: https://doc.rust-lang.org/cargo/reference/config.html#buildincremental
Upvotes: 2