C/C++学习笔记 vcpkg使用备忘及简要说明

一、简述

        vcpkg 是一个免费的 C/C++ 包管理器,用于获取和管理库。从 1500 多个开源库中进行选择,一步下载并构建,或者添加您自己的私有库以简化构建过程。由 Microsoft C++ 团队和开源贡献者维护。

        官方教程

vcpkg 文档 | Microsoft Learnvcpkg 是跨平台的 C/C++ 包管理器。 快速获取对数千个高质量开放源代码库的访问权限,从而为应用程序提供支持,并在内部共享专用组件的集合。icon-default.png?t=N7T8https://learn.microsoft.com/zh-cn/vcpkg/

二、安装

        安装 vcpkg 的过程分为两步:

        首先,克隆存储库,然后运行引导脚本以生成 vcpkg 二进制文件。该存储库可以克隆到任何地方,并且将包含引导后的 vcpkg 二进制文件以及从命令行安装的任何库。建议将 vcpkg 克隆为 CMake 项目的子模块,但对于 MSBuild 项目则将其全局安装。如果全局安装,我们建议使用简短的安装路径,例如: C:\src\vcpkg或 C:\dev\vcpkg,否则您可能会遇到某些端口构建系统的路径问题。

1、克隆 vcpkg 存储库

git clone https://github.com/Microsoft/vcpkg.git

        在执行此操作之前,请确保您位于想要安装该工具的目录中。

2、运行引导脚本来构建 vcpkg

.\vcpkg\bootstrap-vcpkg.bat

3、安装软件包

vcpkg install [要安装的软件包]

        查看这个包管理器里面都有哪些包,最好上梯子

Browse public vcpkg packagesExplore vcpkg libraries to installicon-default.png?t=N7T8https://vcpkg.io/en/packages

三、集成使用

1、与 MSBuild / VS 结合使用

vcpkg integrate install

        之后,您可以创建一个新项目或在 IDE 中打开现有项目。所有已安装的库都应该可以被 IntelliSense 发现,并且可以在代码中使用,无需额外配置。

2、与 CMake 结合使用

        为了在 IDE 之外将 vcpkg 与 CMake 一起使用,您可以使用工具链文件:

        命令行下,使用DCMAKE_TOOLCHAIN_FILE指定toolchain路径

cmake -B [build directory] -S . -DCMAKE_TOOLCHAIN_FILE=[path to vcpkg]/scripts/buildsystems/vcpkg.cmake

        然后

cmake --build [build directory]

         GUI界面下,选择指定toolchain路径。

        使用 CMake,您需要使用 find_package() 来引用 Cmakelists.txt 文件中的库。

三、安装后

        这是安装好的目录,其中有几个目录值得关注。

        1、首先是downloads文件夹

        如果安装包的时候下载不下来,可以在界面上复制下载路径,下载完成,修改界面上重新定位的文件名,之后拷贝到downloads文件夹,重新执行安装命令即可。

        2、之后是installed文件夹

        安装完的所有的库的头文件、lib、dll等都在这个文件夹,如果创建项目的时候需要引用可以到这里来找。

        通常可以包含C:\vcpkg-master\installed\x64-windows\include,就可以包含所有安装好的包的头文件(不过有些库安装完带了版本号,可能别的库调用它的时候不会指定版本号,这样的库的头文件路径就需要在项目种单独添加一下)。

相关推荐

  1. nginx常用笔记

    2024-01-09 10:48:03       32 阅读
  2. RuoyiAdmin项目搭建Docker 部署

    2024-01-09 10:48:03       14 阅读
  3. NeuralKG运行

    2024-01-09 10:48:03       37 阅读
  4. Linux手册

    2024-01-09 10:48:03       28 阅读
  5. Git 清单

    2024-01-09 10:48:03       34 阅读
  6. vue,Promise

    2024-01-09 10:48:03       20 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-09 10:48:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-09 10:48:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-09 10:48:03       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-09 10:48:03       20 阅读

热门阅读

  1. 探索 GitHub:高效使用技巧与实例分享

    2024-01-09 10:48:03       40 阅读
  2. git常用指令及应用案例

    2024-01-09 10:48:03       43 阅读
  3. 程序员必备的面试技巧

    2024-01-09 10:48:03       36 阅读
  4. Django创建RSS订阅

    2024-01-09 10:48:03       36 阅读
  5. 网络协议到底是什么?

    2024-01-09 10:48:03       38 阅读
  6. js中window的OPen方法,弹窗的特征

    2024-01-09 10:48:03       34 阅读
  7. 每日算法打卡:激光炸弹 day 8

    2024-01-09 10:48:03       32 阅读
  8. 【python】神经网络

    2024-01-09 10:48:03       38 阅读
  9. matlab subs 函数计算太慢

    2024-01-09 10:48:03       43 阅读