在VS中通过vcpkg包管理器来安装使用qt5

常用指令

复制代码
.\vcpkg install 库名 

.\vcpkg install 库名@版本号

.\vcpkg install 库名 --trip x86-windows

.\vcpkg list

.\vcpkg search 库名
.\vcpkg x-all-installed --7zip

PS G:\vcpkg> .\vcpkg help
usage: vcpkg <command> [--switches] [--options=values] [arguments] @response_file
  @response_file         Contains one argument per line expanded at that location

Package Installation:
  export                 Creates a standalone deployment of installed ports
  install                Installs a package
  remove                 Uninstalls a package
  x-set-installed        Installs, upgrades, or removes packages such that that installed matches
                         exactly those supplied
  upgrade                Rebuilds all outdated packages

Package Discovery:
  x-check-support        Tests whether a port is supported without building it
  depend-info            Displays a list of dependencies for ports
  list                   Lists installed libraries
  owns                   Searches for the owner of a file in installed packages
  x-package-info         Display detailed information on packages
  portsdiff              Diffs changes in port versions between commits
  search                 Searches for packages available to be built
  update                 Lists packages that can be upgraded

Package Manipulation:
  add                    Adds dependency to manifest
  x-add-version          Adds a version to the version database
  create                 Creates a new port
  edit                   Edits a port, optionally with %EDITOR%, defaults to "code"
  env                    Creates a clean shell environment for development or compiling
  format-manifest        Prettyfies vcpkg.json
  hash                   Gets a file's SHA256 or SHA512
  x-init-registry        Creates a blank git registry
  new                    Creates a new manifest
  x-update-baseline      Updates baselines of git registries in a manifest to those registries' HEAD
                         commit

Other:
  ci                     Tries building all ports for CI testing
  x-ci-verify-versions   Checks integrity of the version database
  contact                Displays contact information to send feedback
  fetch                  Fetches something from the system or the internet
  integrate              Integrates vcpkg with machines, projects, or shells

For More Help:
  help topics            Displays full list of help topics
  help <topic>           Displays specific help topic
  help commands          Displays full list of commands, including rare ones not listed here
  help <command>         Displays help detail for <command>

For more help (including examples) see https://learn.microsoft.com/vcpkg

1.设置 vcpkg

1.克隆存储库

  • vcpkg 概述 | Microsoft Learn

  • 从 GitHub 克隆 vcpkg 存储库。 存储库包含用于获取 vcpkg 可执行文件的脚本,以及由 vcpkg 社区维护的特选开放源代码库的注册表。 要执行此操作,请运行:

    控制台复制

    复制代码
    git clone https://github.com/microsoft/vcpkg.git

    vcpkg 特选注册表是一组数量超过 2000 个的开源库。 这些库已通过 vcpkg 的持续集成管道进行验证,可以协同工作。 虽然 vcpkg 存储库不包含这些库的源代码,但它保存方案和元数据,以便在系统中生成和安装它们。

2.运行启动脚本

现在,你已经克隆了 vcpkg 存储库,请导航到 vcpkg 目录并执行启动脚本:

控制台复制

复制代码
  cd vcpkg; .\bootstrap-vcpkg.bat

启动脚本执行先决条件检查并下载 vcpkg 可执行文件。

就这么简单! vcpkg 已安装并可供使用。

2.采用经典模式或者清单模式安装对应库

这里采用经典模式

通过powershell来调用vcpkg指令.

打开第一步设置的vcpkg仓库文件夹, 按住shift+右键, 调用powershell窗口.

输入

查看当前vcpkg中的库列表

复制代码
.\vcpkg list

安装qt5 (最好开启网络代理,因为需要用到github中的库,所以国内的网络基本难搞)

默认64bit

复制代码
.\vcpkg install qt5

32bit

复制代码
.\vcpkg install qt5 --triplet x86-windows

等完成, 完成后也可以再次查看list中库

安装qt中的其他库

复制代码
.\vcpkg install qt5-remoteobjects qt5-serialbus

等待完成.

整体的速度要比自己下载源代码快很多,1个多小时就可以搞定.

完成后可在vcpkg文件夹中看到如下文件夹

可以看到比原来多了4个文件夹,buildtrees,downloads,installed,packages.

buildtrees中是所有库的源代码.

installed所有库汇总的编译完成后,头文件,lib文件,dll文件都在这里.(主要用这个)

packages编译完后的独立的头文件头文件,lib文件,dll文件都在这里.

在vs中采用qt-addin插件来编写qt时,需要将debug中生成的qt相关的lib文件(后面都带个d的文件)放置到release的lib路径下才能正常调试debug, 可能因为插件的关系.(cmake方式编译可能不需要,未验证)

debug下的qt所有lib文件复制到release下的lib文件夹

3.将qt-Addin插件中的qt版本设置为vcpkg中版本

将qmake路径设置为G:\vcpkg\installed\x64-windows\tools\qt5

这里路径根据自己电脑的设置设置<vcpkg路径>\installed\x64-windows\tools\qt5

4.将vcpkg包管理设置到项目中

1.在vcpkg安装目录下, 按2步中开启powershell的方式开启

输入如下指令,生成一个nuget包源文件

复制代码
.\vcpkg integrate project

2.在VS中设置,通过nuget增加一个包源

路径设置为vcpkg的安装路径

3.安装vcpkg包到当前的解决方案中

4.在工程项目-属性-vcpkg中设置

根据当前配置设置对应vcpkg版本,这里只用了经典模式,所以不要选清单开启.

基本完成,省去了头文件,lib,dll的相关设置了.

vcpkg会直接将用的所有dll直接copy到exe文件路径下.方便很多了, 比windeployqt的方式要方便.

5.将当前电脑中的库文件导出到另外一台电脑中

1.在vcpkg仓库目录下,调用powershell窗口,

输入

复制代码
 .\vcpkg export --x-all-installed --zip

将所有的库文件打包为zip文件, 将把installed中的所有库打包为zip文件

2.将打包好的zip文件复制到新电脑中

在新电脑中也同样按步骤1创建vcpkg仓库,然后将解压后的文件放置到vcpkg目录下即可

installed文件夹及scripts文件夹.

由于没有package文件夹,所以通过 list查看当前仓库列表,里面是空的,但是好像也不影响vcpkg的功能.

在VS按2,3,4步骤重新在新电脑设置即可.

相关推荐
三体世界3 分钟前
C++ STL 序列式容器之(三)-- List
java·c语言·开发语言·c++·windows·list·visual studio
爱的叹息8 分钟前
java 设置操作系统编码、jvm平台编码和日志文件编码都为UTF-8的操作方式
java·开发语言·jvm
愚戏师11 分钟前
C++:向Lambda传递参数与捕获
开发语言·c++
编程乐趣12 分钟前
一个纯.Net开发的JavaScript执行引擎
开发语言·javascript·.net
努力学习的小廉15 分钟前
【C++】 —— 笔试刷题day_8
开发语言·c++
万亿少女的梦16835 分钟前
基于Ebay拍卖网站成交价格的影响因素分析
java·开发语言·网络安全
PfCoder44 分钟前
C# 匿名方法讲解
开发语言·c#
小冯的编程学习之路1 小时前
【C++项目实战】:基于正倒排索引的Boost搜索引擎(1)
开发语言·c++·搜索引擎
aimmon1 小时前
Rust从入门到精通之进阶篇:19.Rust 生态系统
开发语言·后端·rust
大锦终1 小时前
详解vector容器
c语言·开发语言·数据结构·c++