问题描述:
windos下想用Rocket使用SQLite3,自带案例./example/todo 提示链接不到sqlite3.lib
原因分析:
找到两个相关的issues
https://github.com/SergioBenitez/Rocket/issues/801
https://github.com/diesel-rs/diesel/issues/487
解决方案:
那两个issues里有两个办法,我用的第二个。
- 安装 diesel_cli
可以看 Rust diesel win10安装填坑
cargo install diesel_cli --no-default-features --features “sqlite-bundled”
截图来自 https://crates.io/crates/diesel_cli
- 自己链接过去
"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\lib.exe" /DEF:D:\lib\sqlite3_64\sqlite3.def /OUT:D:\lib\sqlite3_64\sqlite3.lib /MACHINE:x64
cp sqlite3.lib c:\Users\Administrator\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\sqlite3.lib
cp sqlite3.lib c:\Users\Administrator\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\sqlite3.lib
cp sqlite3.dll c:\Users\Administrator\.rustup\toolchains\stable-x86_64-pc-windows-msvc\bin\sqlite3.dll
cp sqlite3.dll c:\Users\Administrator\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\bin\sqlite3.dl
注意你用的是stable还是nightly。我用的nightly但一开始只拷贝到了stable,导致还是链接失败。