In a console, preferably one elevated to administrator, issue vcpkg command-line instructions. Such as
vcpkg install.
https://learn.microsoft.com/en-us/vcpkg/users/classic-mode
I use exclusively what is apparently called "classic mode", I don't use manifests.
But then I only consume libraries, never create one for distribution.
https://learn.microsoft.com/en-us/vcpkg/
I install packages I want to use, I like to install for x86-windows, x64-windows & x64-windows-static if available. I start an console instance in my vcpkg install dir and issue commands. If I wanted to install the 7-zip vcpkg library:
vcpkg install 7zip:x86-windows 7zip:x64-windows 7zip:x64-windows-static
Actually any installs or updates I do I pipe off to a text file, appending the text of the install/update so I don't actually see the process in the console window. So my actual command is:
vcpkg install 7zip:x86-windows 7zip:x64-windows 7zip:x64-windows-static >> install.txt
Periodically I check for any possible updates to my already installed libs by issuing the
git pull
command, followed by
bootstrap-vcpkg -disableMetrics
, then a
vcpkg update
command after getting the latest list of libraries. Example:
D:\Programming\vcpkg>vcpkg update
Using local portfile versions. To update the local portfiles, use `git pull`.
The following packages differ from their port versions:
libpng:x64-windows 1.6.39#1 -> 1.6.40
To update these packages and all dependencies, run
.\vcpkg upgrade'
To only remove outdated packages, run
.\vcpkg remove --outdated |
The number of libraries might end up being more than the one(s) listed in the update command. The libraries that were actually updated with that previous update list:
The following packages will be rebuilt:
* fltk[core,opengl]:x64-windows -> 1.3.8#5
* fltk[core,opengl]:x64-windows-static -> 1.3.8#5
* fltk[core,opengl]:x86-windows -> 1.3.8#5
* fontconfig:x64-windows -> 2.14.2#1
* fontconfig:x64-windows-static -> 2.14.2#1
* fontconfig:x86-windows -> 2.14.2#1
* freetype[brotli,bzip2,core,png,zlib]:x64-windows -> 2.12.1#4
* freetype[brotli,bzip2,core,png,zlib]:x64-windows-static -> 2.12.1#4
* freetype[brotli,bzip2,core,png,zlib]:x86-windows -> 2.12.1#4
* libpng:x64-windows -> 1.6.40
* libpng:x64-windows-static -> 1.6.40
* libpng:x86-windows -> 1.6.40
* mygui:x64-windows -> 3.4.3
* mygui:x64-windows-static -> 3.4.3
* mygui:x86-windows -> 3.4.3
* sdl2-image:x64-windows -> 2.6.3
* sdl2-image:x64-windows-static -> 2.6.3
* sdl2-image:x86-windows -> 2.6.3
* sdl2-ttf:x64-windows -> 2.20.2
* sdl2-ttf:x64-windows-static -> 2.20.2
* sdl2-ttf:x86-windows -> 2.20.2
* sfml:x64-windows -> 2.6.1
* sfml:x64-windows-static -> 2.6.1
* sfml:x86-windows -> 2.6.1
* wxwidgets[core,debug-support,sound]:x64-windows -> 3.2.3
* wxwidgets[core,debug-support,sound]:x64-windows-static -> 3.2.3
* wxwidgets[core,debug-support,sound]:x86-windows -> 3.2.3
Additional packages (*) will be modified to complete this operation. |
When you have libraries that can be updated you issue the upgrade command, piped to append to my installation documentation text file:
D:\Programming\vcpkg>vcpkg upgrade --no-dry-run >> install.txt
Total install time for this packages to be updated: 46 minutes. With minimal intervention on my part except to issue a few console commands.
Why do I check for a newer version of vcpkg every time I check for library updates? Eventually previous versions of vcpkg will stop working as updates are processed, the exe needs to be updated as well.
After every newly installed or updated package(s) or I also keep an updated copy of what libraries I have installed:
vcpkg list > vcpkg-list.txt
Maybe I am using "manifest mode" with these console commands, but I doubt it. Being a keyboard warrior from DOS I prefer the method I use.