我使用的是.cargo/config这样的
[target.arm-linux-androideabi]
linker = "/home/rico/android-ndk-r13b/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc"
Run Code Online (Sandbox Code Playgroud)
但是/home/rico/android-ndk-r13b是我的NDK_HOME,而不是每个人的NDK_HOME
如何指定使用$NDK_HOME?
就像是:
[target.arm-linux-androideabi]
linker = "$NDK_HOME/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc"
Run Code Online (Sandbox Code Playgroud) 我有这个工作代码:
extern crate rusqlite;
use rusqlite::Connection;
fn main() {
let conn = Connection::open("db.sqlite").unwrap();
conn.execute("CREATE TABLE toto (size INTEGER NOT NULL DEFAULT 0);", &[]).unwrap();
conn.execute("INSERT INTO toto(size) VALUES (42);", &[]).unwrap();
let filter = 0;
let i: i64 = conn.query_row("SELECT SUM(size) FROM toto", &[], |r| r.get(0)).unwrap();
println!("Coucou");
println!("Coucou: {}", i);
}
Run Code Online (Sandbox Code Playgroud)
但如果我改变
"SELECT SUM(size) FROM toto", &[]
Run Code Online (Sandbox Code Playgroud)
至
"SELECT SUM(size) FROM toto WHERE size=?1", &[&filter]
Run Code Online (Sandbox Code Playgroud)
它重新运行,恐慌:
rm db.sqlite
RUST_BACKTRACE=1 cargo run
Run Code Online (Sandbox Code Playgroud)
Finished dev [unoptimized + debuginfo] target(s) in 0.0 secs
Running `target/debug/testsqlite` …Run Code Online (Sandbox Code Playgroud)