龙岩做网站开发价格,网站做js跳转,钓鱼网站在线生成器,wordpress 外贸企业模板下载文章目录 vcpkg是什么vcpkg的优势Windows环境下的下载及安装1.下载 Linux环境下的下载及安装常用命令介绍1.1.1 设置默认安装的平台1.1.2可选步骤#xff0c;将vcpkg与Visual Studio配合使用#xff08;需要管理员权限#xff09;1.1.3 软件包升级1.1.4 查找安装软件包1.1.5… 文章目录 vcpkg是什么vcpkg的优势Windows环境下的下载及安装1.下载 Linux环境下的下载及安装常用命令介绍1.1.1 设置默认安装的平台1.1.2可选步骤将vcpkg与Visual Studio配合使用需要管理员权限1.1.3 软件包升级1.1.4 查找安装软件包1.1.5 安装软件包1.1.6 移除软件包1.1.7 列出已安装的软件包1.1.8 集成到CMake1.1.9 为vcpkg瘦身1.1.9 其它1.1.9.1 windows1.1.9.2 linux vcpkg是什么
vcpkg是微软 C 团队开发的适用于 C 和 C 库的跨平台开源软件包管理器它大大简化了 Windows、Linux 和 macOS 上第三方库相关的下载和配置操作目前已有超过1600个第三方库可以通过vcpkg来安装。类似于 apt-get、npm 、yum 等的命令功能。
vcpkg的优势
1.自动下载三方开源库源代码。 2.一键安装第三方库。 3.源码包的缓存管理和版本管理可以依需求安装指定的版本。 4.自动检查库的依赖关系并安装其依赖项。 5.无缝集成Visual Studio不用手动设置任何的库相关的路径。 6.Visual Studio全平台支持不仅支持Debug/Release、x86/x64编译还支持UWP、ARM平台的编译。
Windows环境下的下载及安装
1.下载 dos命令窗口下进入 D:\software目录D:\softwaregit clone https://github.com/microsoft/vcpkg 待克隆下载完毕后会在software目录下生成一个vcpkg目录。D:\software.\vcpkg\bootstrap-vcpkg.bat此时有可能会报下面这个问题 根据提示应该就是连接不到指定github服务器这个是国外的服务器。其实里面就是一个从远端下载vcpkg.exe的文件的操作。可以手动通过其他方式把它下载下来。然后放到D:\software\vcpkg根目录下。 我这里采用的是通过华为云服务器访问国外的网效果好些来下载 [rootiZ2zedddZ software]# wget https://github.com/microsoft/vcpkg-tool/releases/download/2023-12-12/vcpkg.exe 回车完后等待下载完毕会在当前目录下有一个vcpkg.exe文件 [rootiZ2zeddfx87fw4m4dlxu8dZ software]# ll -h total 7.8M -rw-r–r-- 1 root root 7.8M Dec 13 03:39 vcpkg.exe 将这个vcpkg.exe文件拷贝到Windows机器上下的D:\software\vcpkg根目录下上面有说明。 配置系统环境变量将D:\software\vcpkg添加到PATH环境变量下。 任意一个目录下执行 vcpkg --version如果打印有版本信息说明系统环境变量已配好。
Linux环境下的下载及安装
和上面差不多就是执行脚本.\vcpkg\bootstrap-vcpkg.bat 改为 .\vcpkg\bootstrap-vcpkg.sh。
常用命令介绍
1.1.1 设置默认安装的平台
–tripletx64-windows表示仅在windows上安装64位软件包
vcpkg help triplet #查看软件包支持的平台现代软件基本上64位编译的为节约磁盘空间可以为–triplet设置系统环境变量“VCPKG_DEFAULT_TRIPLETx64-windows”表示默认安装在windows上安装64位软件包。
1.1.2可选步骤将vcpkg与Visual Studio配合使用需要管理员权限
vcpkg integrate install #安装至Visual Studio
vcpkg integrate remove #从Visual Studio卸载1.1.3 软件包升级
cd D:\software\vcpkg
git pull
vcpkg update
vcpkg upgrade --no-dry-run1.1.4 查找安装软件包
vcpkg search PackageName1.1.5 安装软件包
vcpkg install PackageName --tripletx64-windows#如果你设置了VCPKG_DEFAULT_TRIPLET系统环境变量则
vcpkg install PackageName1.1.6 移除软件包
vcpkg remove PackageName移除所有过时的软件包
vcpkg remove --outdated1.1.7 列出已安装的软件包
vcpkg list1.1.8 集成到CMake
在cmake后添加CMAKE_TOOLCHAIN_FILE变量值为vcpkg.cmake完整路径
cmake -DCMAKE_TOOLCHAIN_FILED:\software\vcpkg\scripts\buildsystems\vcpkg.cmake -Wno-dev
#-Wno-dev【可选】抑制开发人员警告。 禁止对CMakeLists.txt文件的作者发出警告。1.1.9 为vcpkg瘦身
当你使用了段时间后vcpkg占用了非常大的磁盘空间这时您可以通过删除packages、buildtrees和downloads文件夹来节省一些磁盘空间。
rmdir /S /Q D:\software\vcpkg\packages
rmdir /S /Q D:\software\vcpkg\buildtrees
rmdir /S /Q D:\software\vcpkg\downloadsvcpkg目录说明
buildtrees: 【允许删除】编译软件包使用的目录
docs: 【不能修改删除】文档和示例
downloads: 【允许删除】所有已下载的工具或源的缓存副本。 运行安装命令时vcpkg 会首先搜索此处如果没有会自动下载
installed: 软件包编译后的安装目录头文件(h/hpp)、库文件(lib/so/a)、二进制文件(dll/exe)。集成Visual Studio后vs会自动链接到此目录你只需要引用头文件即可。vs自动引用库文件(编译后vs会自动将库文件(dll/so/a)复制项目运行目录)。
installed\x64-windows\debug表示此目录中的库文件(lib/so/a)、二进制文件(dll/exe)都是debug模式
installed\x64-windows\lib\manual-link表示此目录中的库文件(lib/so/a)不会自动引用需要你在项目中手动设置
packages: 【允许删除】在不同的软件包之间用于暂存的内部文件夹
ports: 【不能修改删除】用于描述每个库的目录、版本和下载位置的文件。 如有需要可添加自己的端口
scripts: 【不能修改删除】由 vcpkg 使用的脚本CMake、PowerShell
toolsrc: 【不能修改删除】vcpkg和相关组件的 C 源代码
triplets: 【不能修改删除】包含每个受支持目标平台如 x86-windows 或 x64-uwp的设置
*.* 其它文件都不允许手动修改1.1.9 其它
因为vcpkg太过于自动化了当开发完成后我们可能不知道使用项目依赖的软件包我们可以通过下列命令查看
1.1.9.1 windows
从开始菜单输入 ”x64 Native Tools Command Prompt for VS 2019”中运行前提是已安装 Visual Studio 2019
dumpbin /DEPENDENTS PackageName.dll
或者
dumpbin /DEPENDENTS PackageName.exe演示 双击打开上述应用 如下使用Windows上的dumpbin 命令不能用于.so库文件上。
1.1.9.2 linux
ldd PackageName.so
ldd PackageName.a
ldd PackageName演示
[rootiZ2zeddu8dZ local]# ldd libSignServerExJNI.solinux-vdso.so.1 (0x00007fff343ee000)libstdc.so.6 /lib64/libstdc.so.6 (0x00007f81e9942000)libm.so.6 /lib64/libm.so.6 (0x00007f81e9640000)libgcc_s.so.1 /lib64/libgcc_s.so.1 (0x00007f81e942a000)libc.so.6 /lib64/libc.so.6 (0x00007f81e905c000)/lib64/ld-linux-x86-64.so.2 (0x00007f81ea14a000)[rootiZ2zeddu8dZ local]# ldd SignServerExJNI.dll not a dynamic executable #说明ldd命令不能用在dll文件上