1. 下载和安装 vcpkg
克隆 vcpkg 仓库:
打开命令提示符或 PowerShell,运行以下命令:
git clone https://github.com/microsoft/vcpkg.git
进入 vcpkg 目录:
cd vcpkg
运行 bootstrap 脚本:
在 Windows 上,运行以下命令来构建 vcpkg:
.\bootstrap-vcpkg.bat
2. Visual Studio 集成卸载 vcpkg
运行集成命令:
在 vcpkg 目录中,执行以下命令以将 vcpkg 集成到 Visual Studio:
.\vcpkg integrate install
这将自动设置 Visual Studio,使其能够识别 vcpkg 中安装的库。
取消与 Visual Studio 的集成:
./vcpkg integrate remove
3. 安装所需的 C++ 库
你可以通过 vcpkg 安装任何你需要的 C++ 库。例如,如果你需要安装 uWebSockets 和其他依赖项,可以运行:
.\vcpkg install uwebsockets libuv openssl
4. 在 Visual Studio 中使用 vcpkg 安装的库
-
打开 Visual Studio 2022。
-
创建或打开一个 C++ 项目。
-
包含所需的头文件,例如:#include <uwebsocket/App.h>
#include <uwebsocket/App.h>
-
编译项目:在构建项目时,Visual Studio 会自动识别 vcpkg 中的库,并链接它们。
5. 管理 vcpkg
查看已安装的库:
.\vcpkg list
更新库:
.\vcpkg update
卸载库:
.\vcpkg remove <library-name>
导出库:
使用 vcpkg export
命令导出库: 使用以下命令导出特定库(例如 uWebSockets):
.\vcpkg export uwebsockets --output-dir=exported-libs
这将会把 uWebSockets 库和它的依赖项导出到名为 exported-libs
的文件夹中。你可以替换 uwebsockets
为你要导出的任何库名。
导入库:
当想在新项目中使用这些导出的库时,可以手动将它们添加到你的项目中,或使用 vcpkg 安装它们(如果它们在 vcpkg 中可用)。如果导出的库是以特定格式(如 tar.gz)存档的,可以直接在新项目中解压并配置。
6. 配置 x86/x64 平台
如果需要为不同的平台(如 x86 或 x64)安装库,可以指定平台。例如:
.\vcpkg install uwebsockets:x64-windows
7. 添加 vcpkg 路径(可选)
如果 vcpkg 没有被正确识别,可以手动添加 vcpkg 的库路径。在 Visual Studio 中:
-
)右键点击你的项目,选择
Properties
。 -
)在左侧菜单中,找到
VC++ Directories
,在Include Directories
和Library Directories
中添加 vcpkg 的路径,通常是在vcpkg\installed\x64-windows\include
和vcpkg\installed\x64-windows\lib
。
补充:
一、使用 VS 内置的命令提示符
- 打开 Visual Studio 2022。
- 在菜单栏中,选择
Tools
(工具)。 - 然后选择
Command Line
(命令行),你可以看到几个选项:)Developer Command Prompt
:用于执行与 Visual Studio 相关的命令。)PowerShell
:打开 Windows PowerShell。
二、VCPKG_ROOT 环境值警告
PS C:\vcpkg> .\vcpkg integrate install
warning: vcpkg C:\vcpkg\vcpkg.exe 正在使用检测到的 vcpkg 根 C:\vcpkg 并忽略不匹配的 VCPKG_ROOT 环境值 C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\vcpkg。要抑制此消息,请取消设置环境变量或使用 --vcpkg-root 命令行开关。
已为此 vcpkg 根应用用户范围的集成。
CMake 项目应使用:“-DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake”
通过提示查看环境路径,如下:
如果路径下出现了vcpkg.exe,那么直接执行命令:
.\vcpkg.exe
如果执行成功,那么绑定VS:
.\vcpkg.exe integrate install
注意事项:
- 权限问题:
C:\Program Files
目录是系统目录,可能需要管理员权限才能在这里进行操作。如果遇到权限问题,建议使用管理员权限运行命令行工具(右键点击命令提示符或 PowerShell,选择“以管理员身份运行”)。 - 更新 vcpkg:如果这个版本的
vcpkg
太旧,你可以从 GitHub 获取最新版本并替换这个目录下的文件。
三、指定基线的清单才能与端口交互
出现这个错误的原因是 vcpkg
现在要求在某些操作中使用“清单模式”来管理包
在你当前的工作目录中,创建一个 vcpkg.json
文件,并添加以下内容:
{
"version": 2,
"dependencies": [
"uwebsockets",
"libuv",
"openssl",
"boost"
]
}
uwebsockets、libuv、openssl和boost是需要安装的库名称