vcpkg 从清单文件安装依赖项

vcpkg 有两种运行模式:经典模式和清单模式。清单文件有自己的 vcpkg_installed 目录,可在其中安装依赖项,与所有包都安装在通用 %VCPKG_ROOT%/installed 目录中的经典模式不同。 因此,每个项目都可以有自己的清单和自己的一组依赖项,这些依赖项不会与其他项目的依赖项发生冲突。

1. 创建包含清单的项目

#include <iostream>
#include <sqlite3.h>

int main() {
    sqlite3 *db;
    int exit = 0;

    exit = sqlite3_open("test.db", &db);

    if (exit) {
        std::cerr << "Can't open database: " << sqlite3_errmsg(db) << std::endl;
    } else {
        std::cout << "Opened database successfully!" << std::endl;
    }

    sqlite3_close(db);
    return 0;
}

2. 添加依赖项

2.1 在项目路径打开命令行工具

依次点击 工具 -> 命令行 -> 开发者 PowerShell。

2.2 创建清单文件

vcpkg new --application

2.3 添加依赖项

vcpkg add port fmt
vcpkg add port sqlite3

默认 vcpkg-configuration.json 文件引入了基线约束,指定项目应使用的依赖项的最低版本。

3. 手动安装依赖项

只需在包含清单文件的目录中运行 vcpkg install。该命令完成后,所有生成的包都将出现在 vcpkg_installed 目录中。

vcpkg install

4. 构建项目(可选)

默认情况下,Visual Studio 项目中禁用清单模式。 要启用清单,请在解决方案资源管理器中右键单击项目,选择属性,选择左侧的 vcpkg 选项卡,然后将 Use Vcpkg Manifest 设置为

补充:

1.)已存在清单

error: D:\SynologyDrive\Workstation\Demo\SQLiteDemo\vcpkg.json 下已存在清单。

原因:已经存在 vcpkg.json 文件。

解决:删除 vcpkg.json 文件。

2.)不支持单个包参数

error: 在清单模式下,`vcpkg install` 不支持单个包参数。
要安装其他包,请编辑 vcpkg.json,然后在没有任何包参数的情况下运行 `vcpkg install`。
有关详细信息,请参阅 https://learn.microsoft.com/vcpkg/users/manifests。

原因:使用 vcpkg install 时, 多加参数。如:vcpkg install sqlite3。

解决:在清单模式下,直接使用 vcpkg install。

3.)MSB3073错误

严重性    代码    说明    项目    文件    行    禁止显示状态    详细信息
错误    MSB3073    命令“"C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\vcpkg\vcpkg.exe" install  --x-wait-for-lock --triplet "x64-windows" --vcpkg-root "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\vcpkg\\" "--x-manifest-root=D:\SynologyDrive\Workstation\Demo\SQLiteDemo\\" "--x-install-root=D:\SynologyDrive\Workstation\Demo\SQLiteDemo\vcpkg_installed\x64-windows\\" ”已退出,代码为 1。    SQLiteDemo    C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\vcpkg\scripts\buildsystems\msbuild\vcpkg.targets    183              

原因:路径问题、权限问题、锁文件问题、三元组 (Triplet) 问题或清单文件配置错误。

解决:以管理员身份运行 Visual Studio,打开命令行尝试手动安装。

4.)添加环境变量

设置 VCPKG_ROOT 将告知 vcpkg 实例所在的位置。添加到 PATH 直接从 shell 运行 vcpkg 命令。

5.)upgrade 不支持清单模式

vcpkg x-update-baseline 将基线更新为当前值,并运行 vcpkg 安装来更新依赖项。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值