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

📅 2026/7/11 12:08:37
在VS中通过vcpkg包管理器来安装使用qt5
常用指令//安装最新版的库 .\vcpkg install 库名 //安装指定版本 .\vcpkg install 库名版本号 //安装指定版本 .\vcpkg install 库名 --triplet x86-windows //或者 .\vcpkg install 库名:x86-windows .\vcpkg install 库名:x64-windows //查询已安装的所有库 .\vcpkg list //查询可以更新的库 .\vcpkg update //更新所有可以更新的库并删除旧版本 .\vcpkg upgrade --no-dry-run //更新opencascade到最新版本,并删除早期版本 .\vcpkg upgrade opencascade --triplet x86-windows --no-dry-run //查询是否存储的库 .\vcpkg search 库名 //导出所有库为7z格式 .\vcpkg export --x-all-installed --7zip //导出指定库为7z格式 .\vcpkg export 库名 --7zip //查询导出功能的帮助信息,其他功能类似 .\vcpkg help export //qt5常用库安装 .\vcpkg install qt5-base qt5-tools qt5-imageformats qt5-svg qt5-multimedia qt5-networkauth --recursePS G:\vcpkg .\vcpkg help usage: vcpkg command [--switches] [--optionsvalues] [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 files 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/vcpkg1.设置 vcpkg1.克隆存储库vcpkg 概述 | Microsoft Learn从 GitHub 克隆 vcpkg 存储库。 存储库包含用于获取 vcpkg 可执行文件的脚本以及由 vcpkg 社区维护的特选开放源代码库的注册表。 要执行此操作请运行控制台复制git clone https://github.com/microsoft/vcpkg.gitvcpkg 特选注册表是一组数量超过 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 qt532bit.\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\qt54.将vcpkg包管理设置到项目中1.在vcpkg安装目录下, 按2步中开启powershell的方式开启输入如下指令,生成一个nuget包源文件.\vcpkg integrate project2.在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步骤重新在新电脑设置即可.