中国八大设计院排名,seort什么意思,如何建立一个网站卖东西,本地电商平台有哪些文章目录 工程文件安装vcpkg安装fmt库安装全局的库安装仅该工程使用的库 在CMake中使用vcpkg通过CMAKE_TOOLCHAIN_FILE使用vcpkg通过CMakePresets.json使用vcpkg 在C开发中#xff0c;我们经常会使用一些第三方库#xff0c;比如说Boost、fmt、spdlog等等。这些库的安装和使用… 文章目录 工程文件安装vcpkg安装fmt库安装全局的库安装仅该工程使用的库 在CMake中使用vcpkg通过CMAKE_TOOLCHAIN_FILE使用vcpkg通过CMakePresets.json使用vcpkg 在C开发中我们经常会使用一些第三方库比如说Boost、fmt、spdlog等等。这些库的安装和使用一直是一个比较头疼的问题特别是在Windows平台上。vcpkg就是一个用于管理C库的工具它可以帮助我们安装和管理C库。
本文将通过一个示例来介绍vcpkg的基本使用方法。
工程文件
首先我们需要一个C工程。这里我们使用CMake来构建工程。该工程使用到了第三方库libfmt. 我们的工程目录结构如下
.
├── CMakeLists.txt
├── CMakePresets.json
└── main.cppCMakeLists.txt内容如下
cmake_minimum_required(VERSION 3.19)
project(vcpkg_demo)find_package(fmt CONFIG REQUIRED)add_executable(vcpkg_demo main.cpp)
target_link_libraries(vcpkg_demo PRIVATE fmt::fmt)CMakePresets.json内容如下
{version: 3,cmakeMinimumRequired: {major: 3,minor: 19,patch: 0},configurePresets: [{name: default,generator: Ninja,binaryDir: ${sourceDir}/build,cacheVariables: {CMAKE_TOOLCHAIN_FILE: /path/to/vcpkg/scripts/buildsystems/vcpkg.cmake}}]
}main.cpp内容如下
#include fmt/core.h
#include fmt/ranges.h
#include vectorint main() {fmt::print(Hello world);std::vectorint v {1, 2, 3, 4, 5};fmt::println(v {}\n, v);return 0;
}接下来, 我们需要通过vcpkg安装fmt库。
安装vcpkg
首先我们需要下载vcpkg。可以通过以下命令下载
git clone https://github.com/microsoft/vcpkg.git
cd vcpkg
./bootstrap-vcpkg.sh # Linux/macOS
# .\bootstrap-vcpkg.bat # Windows安装fmt库
有两种方式, 可以安装全局的库也可以安装仅该工程使用的库.
安装全局的库
然后我们需要安装fmt库。可以通过以下命令安装
cd /path/to/vcpkg # 进入vcpkg目录
./vcpkg install fmt安装仅该工程使用的库
cd vcpkg_demo # 进入工程目录
/path/to/vcpkg/vcpkg new --application
/path/to/vcpkg/vcpkg add port fmt
/path/to/vcpkg/vcpkg install此时, 会在工程目录下生成一个vcpkg.json文件, 该文件用于记录工程所使用的库. 内如如下:
{dependencies: [fmt]
}还有一个 vcpkg-configuration.json 文件, 用于记录工程所使用的库的版本信息. 内容如下:
{default-registry: {kind: git,baseline: cacf5994341f27e9a14a7b8724b0634b138ecb30,repository: https://github.com/microsoft/vcpkg},registries: [{kind: artifact,location: https://github.com/microsoft/vcpkg-ce-catalog/archive/refs/heads/main.zip,name: microsoft}]
}该文件随着vcpkg版本的更新可能会有变化.
在CMake中使用vcpkg
通过CMAKE_TOOLCHAIN_FILE使用vcpkg
接下来我们需要配置CMake让它能够找到vcpkg安装的库。我们可以通过以下命令配置
cd vcpkg_demo/../ # 在vcpkg_demo的上一级目录
cmake -DCMAKE_TOOLCHAIN_FILE/path/to/vcpkg/scripts/buildsystems/vcpkg.cmake -S vcpkg_demo -B build-vcpkg-demo
cmake --build build-vcpkg-demo通过CMakePresets.json使用vcpkg
CMake Presets 是CMake 3.19版本引入的新特性它可以帮助我们简化CMake的配置。
cd vcpkg_demo
cmake --preset default
cmake --build build/