Windows Rust使用Rusqlite

Windows使用Rusqlite需要先安装vcpkg,安装比较简单这里不再介绍。

Vcpkg : https://github.com/microsoft/vcpkg

Rusqlite :https://github.com/rusqlite/rusqlite

使用vcpkg安装 sqlite3 , 安装成功之后需要使用cargo 安装vcpkg_cli ,这样cargo编译时才能找到sqlite3的库

vcpkg install sqlite3:x64-windows
cargo install vcpkg_cli
vcpkg_cli probe sqlite3
use rusqlite::{Connection, Result};
use rusqlite::NO_PARAMS;

fn main() -> Result<()> {
    let conn = Connection::open("cats.db")?;

    conn.execute(
        "create table if not exists cat_colors (
             id integer primary key,
             name text not null unique
         )",
        NO_PARAMS,
    )?;
    conn.execute(
        "create table if not exists cats (
             id integer primary key,
             name text not null,
             color_id integer not null references cat_colors(id)
         )",
        NO_PARAMS,
    )?;

    Ok(())
}

Windows需要配置环境变量,设置 VCPKGRS_DYNAMIC=1,动态链接sqlite3.dll 需要把相关的dll文件拷贝到exe同级目录。

RUST如何静态编译rusqlite ?

使用vcpkg非常方便实现静态编译

vcpkg install sqlite3:x64-windows-static
vcpkg_cli probe static sqlite3
$env:RUSTFLAGS="-C target-feature=+crt-static"       //PowerShell中设置环境变量
cargo build   //编译

使用静态编译上面的代码,单个exe文件 1.2MB,我使用 VS 2015 (VC Tools)

版权声明:本文为NII.CN的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://nii.cn/4035.html 发布者:nii

(1)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017-04-21 15:20
下一篇 2020-07-25 09:18

相关推荐

发表回复

您的电子邮箱地址不会被公开。

联系我们

邮件:83390286[AT]QQ.COM

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信