windows 下包管理工具vcpkg安装

主要参考博文:vcpkg安装及使用_我叫电池的博客-CSDN博客_vcpkg安装

由于需要在离线环境下面搭建开发环境,所有的包只能离线安装了,包括这个管理工具vcpkg的安装,也必须是离线安装。

一. 下载安装vcpkg管理工具

下载目录:microsoft/vcpkg: C++ Library Manager for Windows, Linux, and MacOS (github.com)

 这个解压后就是一个目录树,通过这些目录树对包进行管理。cmd执行bootstrap-vcpkg.bat脚本,会从网络上下载vcpkg.exe,以后的包就都通过vcpkg.exe去搜索和下载。然而离线环境显然是没法将这个.exe下载下来的(但是可以看到它要从哪里下载文件,要放到哪里,这些打印信息是有用的)。记事本打开bootstrap-vckpg.bat,发现它执行了scripts/目录下的bootstrap.ps1这个脚本。分析bootstrap.ps1,可以看到它调用了tls12-download.exe下载vcpkg.exe:

windows 下包管理工具vcpkg安装_第1张图片

 之前执行bootstrap-vcpkg.bat的报错信息,里面有vcpkg.exe的下载网址,手动下载并将其放到指定位置,并将下载指令注释掉,即可跳过下载,完成vcpkg工具的安装。

windows 下包管理工具vcpkg安装_第2张图片

二. 使用vcpkg安装软件包

参考https://blog.csdn.net/vvaa00/article/details/113457742 中离线安装软件包,即可在没网的环境下完成开发环境搭建。可以先将待下载的软件包地址整理好,在一台有网络的电脑上下载好,放入downloads文件夹中。比如在安装apr-util时,有很多依赖包需要安装,即可将需要下载的软件包整理成为packages.txt,执行批量下载脚本,等待下载完成,拷贝到离线环境,继续安装即可。

//file packages.txt

https://github.com/libexpat/libexpat/archive/R_2_4_9.tar.gz

https://repo.msys2.org/mingw/i686/mingw-w64-i686-pkg-config-0.29.2-3-any.pkg.tar.zst

https://repo.msys2.org/mingw/i686/mingw-w64-i686-libwinpthread-git-9.0.0.6373.5be8fcd83-1-any.pkg.tar.zst

https://github.com/openssl/openssl/archive/openssl-3.0.5.tar.gz

https://strawberryperl.com/download/5.32.1.1/strawberry-perl-5.32.1.1-32bit.zip
https://github.com/gdraheim/zziplib/archive/v0.13.72.tar.gz
https://www.nasm.us/pub/nasm/releasebuilds/2.15.05/win32/nasm-2.15.05-win32.zip

https://download.qt.io/official_releases/jom/jom_1_1_3.zip

https://archive.apache.org/dist/apr/apr-util-1.6.1.tar.bz2

windows批量下载脚本pkg-download.bat

@echo off
set urllist=C:\Users\Desktop\packages.txt
set dstDir=C:\Users\Desktop\packages\
setlocal enabledelayedexpansion
for /f  %%a in (%urllist%) do (
    set dst=%dstDir%%%~na
    rem ***********使用Windows自带的Edge打开下载网页下载(速度最快)*****
    rem explorer.exe "microsoft-edge:%%a"
    rem ***********使用Windows自带的bitsadmin下载(速度最慢)*****
    rem bitsadmin /rawreturn /transfer down %%a !dst!
    rem ***********使用Windows自带的certutil下载*********
    rem certutil.exe -urlcache -split -f %%a !dst!
    rem ***********使用powershell的wget下载*************
    PowerShell -Command "&{wget -Uri %%a -OutFile !dst!}"
)
pause

三. windows编译log4cxx实战

主要参考官方教程:Apache log4cxx: Build with CMake

windows 下包管理工具vcpkg安装_第3张图片

 其中apr和apr-util可以直接利用vcpkg.exe install apr apr-util安装, 只用最后面两句指令,生成器根据安装的visual studio 版本选择:

windows 下包管理工具vcpkg安装_第4张图片

cd vcpkg
cmake -S D:/download/Log4cxx-0.13.0 -B buildtrees\Log4cxx -G "Visual Studio 12 2013" -DCMAKE_INSTALL_PREFIX=installed
##如果编译64位项目,则:
#cmake -S D:/download/Log4cxx-0.13.0 -B buildtrees\Log4cxx -G "Visual Studio 12 2013 WIN64" -DCMAKE_INSTALL_PREFIX=installed
cmake --build buildtrees\Log4cxx --target install --config Release

如果执行上面的语句出错,提示找不到sed和zip工具,可以在vcpkg文件夹下面搜索,看看有没有,因为在安装某些软件包时,这些工具可能也会被一并安装,比如vcpkg install zziplib的时候会有zip工具。找到这些工具路径,导入到环境变量中,即可配置通过:

cmd:   set PATH=xx/xx/bin;xx/xx/lib;%PATH%

powershell:   $env:PATH+=";xx/xx/bin;xx/xx/lib"

你可能感兴趣的:(windows)