使用vcpkg与json文件自动安装项目依赖库

admin2024-05-15  0

说明

本文记录自己使用vcpkg.json文件自动安装依赖库并完成编译的全过程。

关于vcpkg是什么这里就不多详细解释,可以看一下专门的介绍及安装的文章,总之了解这是一个C++的包管理工具就可以了。

流程

下面介绍从GitHub上克隆C++项目以及为这个项目安装所需依赖项,并完成编译的全过程。

1 拉取项目

在GitHub上找到你想要克隆的项目,复制地址。

使用vcpkg与json文件自动安装项目依赖库,在这里插入图片描述,第1张

得到地址后,在你想要复制项目的文件夹中右击,选"open git bash here"
输入git clone + 复制的地址
等待项目克隆完成
使用vcpkg与json文件自动安装项目依赖库,在这里插入图片描述,第2张

2 编辑vcpkg.json文件

这一步的前提是电脑上已经安装了vcpkg,并将它的路径同步到了环境变量中,记住这个环境变量的名称,在编写CMakeLists文件时要用,如图
使用vcpkg与json文件自动安装项目依赖库,在这里插入图片描述,第3张
没有安装的话需要找教程安装一下。
然后根据该项目在README中所描述的依赖项编写vcpkg.json
使用vcpkg与json文件自动安装项目依赖库,依赖项,第4张
编写vcpkg.json文件

{
    "name": "electric-inspection-backend",
    "version-string": "0.0.1",
    "dependencies": [
      "boost",
      "cgal",
      "lastools",
      "spdlog",
      "cxxopts",
      "tbb",
      "jsoncpp",
      "shapelib",
      "eigen3",
      "glm",
      "gmp",
      "mpfr",
      "ceres",
      "libpng",
      "libjpeg-turbo",
      "tiff",
      "glew",
      "glad",
      "glfw3"
    ]
  }
  
  • name:项目的名称,标识这个 vcpkg.json 文件所描述的项目。无需在意,这个的作用只是为了写编译过程中的日志文件。
  • version-string:项目版本号,取决于自己,可直接复制。
  • dependencies:依赖库列表

这里安装的库明显比要求的多,这是因为有些库并没有在README中写明。不过你在后续使用cmake构建时,会提醒你却库,在这里再添加就好。

3 修改CMakeLists文件

此时需要修改项目根目录下的CMakeLists.txt文件,使其能够连接到vcpkg,自动识别vcpkg.json文件,并开始安装依赖库。

使用vcpkg与json文件自动安装项目依赖库,在这里插入图片描述,第5张
注意,vcpkg相关配置代码必须在project之前,否则无法自动识别vcpkg.json文件,可从下面复制

# vcpkg配置,必须位于project之前
if(DEFINED ENV{VCPKG_ROOT})
  set(VCPKG_ROOT "$ENV{VCPKG_ROOT}" CACHE PATH "") # 从环境变量中读取vcpkg根目录
else()
  set(VCPKG_ROOT "E:/vcpkg_clone" CACHE PATH "") # 手动设置vcpkg根目录
endif()

message("set VCPKG_ROOT: ${VCPKG_ROOT}")
set(VCPKG_FEATURE_FLAGS "version") # 用于支持自定义依赖版本
set(CMAKE_TOOLCHAIN_FILE "${VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake") # 设置vcpkg工具链

构建项目

接下来就可以开始使用cmake指令来构建项目,指令可参照该项目在GitHub上给定的指令顺序
使用vcpkg与json文件自动安装项目依赖库,在这里插入图片描述,第6张
摁住shift右击,打开PowerShell窗口,输入命令,开始安装
使用vcpkg与json文件自动安装项目依赖库,在这里插入图片描述,第7张
安装完成
使用vcpkg与json文件自动安装项目依赖库,在这里插入图片描述,第8张

这时可以看到build文件夹中多出了 vcpkg_installed 文件,这就是该项目依赖项的安装位置。

使用vcpkg与json文件自动安装项目依赖库,在这里插入图片描述,第9张
然后启动解决方案,运行就可以了。

注意:之后可能代码中还会出现错误,但是这与依赖项安装就没关系了。我这里就出现了一些代码上的错误,查资料改一下就可以运行了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明原文出处。如若内容造成侵权/违法违规/事实不符,请联系SD编程学习网:675289112@qq.com进行投诉反馈,一经查实,立即删除!