visualstudio2019 集成vcpkg,find_package找不到模块问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了visualstudio2019 集成vcpkg,find_package找不到模块问题相关的知识,希望对你有一定的参考价值。
参考技术A 第 1 步:克隆 vcpkg 存储库git clone https://github.com/Microsoft/vcpkg.git
注:在执行下一步操作之前,请确保您位于克隆的目录中
第 2 步:运行引导脚本以构建 vcpkg
.vcpkgbootstrap-vcpkg.bat
第3步:将 vcpkg 与 MSBuild / Visual Studio 一起使用
.vcpkg integrate install
在此之后,您可以创建一个新项目或在 IDE 中打开一个现有cmake项目。 IntelliSense 应该已经可以发现所有已安装的库,可能会遇到如下问题:
find_package找不到使用vcpkg安装的模块,可以参考下面的解决办法:
使用 CMakePresets.json 中的 VCPKG_ROOT 环境变量设置 vcpkg.cmake 的路径:
"cacheVariables":
"CMAKE_TOOLCHAIN_FILE":
"value": "$envVCPKG_ROOT/scripts/buildsystems/vcpkg.cmake",
"type": "FILEPATH"
,
VCPKG_ROOT 应设置为 vcpkg 安装的根目录
.vcpkg install glfw3
解决:
.vcpkg install glfw3:x64-windows
win10 + vs2017 + vcpkg —— VC++ 打包工具
vcpkg 是微软 C++ 团队开发的在 Windows 上运行的 C/C++ 项目包管理工具,可以帮助您在 Windows 平台上获取 C 和 C++ 库.
vcpkg 自身也是使用 C++ 开发的 (而其他的 C++ 包管理大多并不是 C++ 开发的),并且 vcpkg 能够帮助用户在 Visual Studio 中,更好的使用这些安装好的库.
vcpkg 整合了 git,构建系统整合的 CMake,而绝大多数的 C++ 项目都可以直接或者间接的方式使用 CMake创建原生项目文件并构建.
安装:
git clone https://github.com/Microsoft/vcpkg
cd vcpkg
powershell -exec bypass scripts\bootstrap.ps1
设置环境变量
默认编译库类型(32位还是64位) VCPKG_DEFAULT_TRIPLET, 可设置的值如下:
PS > ./vcpkg help triplet
Available architecture triplets:
arm-uwp
x64-uwp
x64-windows-static
x64-windows
x86-uwp
x86-windows-static
x86-windows
vcpkg命令
打开Windows PowerShell
查看帮助
./vcpkg --help
Commands:
vcpkg search [pat] 查找包 Search for packages available to be built
vcpkg install <pkg> 安装包 Install a package
vcpkg remove <pkg> 卸载包 Uninstall a package.
vcpkg remove --purge <pkg> 卸载并删除包(包升级时需要) Uninstall and delete a package.
vcpkg list 列出已安装包 List installed packages
vcpkg update 列出需要升级的包 Display list of packages for updating
vcpkg hash <file> [alg] 对文件进行Hash(默认是SHA512) Hash a file by specific algorithm, default SHA512
vcpkg integrate install Make installed packages available user-wide. Requires admin privileges on first use
vcpkg integrate remove Remove user-wide integration
vcpkg integrate project Generate a referencing nuget package for individual VS project use
vcpkg edit <pkg> Open up a port for editing (uses %EDITOR%, default ‘code‘)
vcpkg import <pkg> Import a pre-built library
vcpkg create <pkg> <url>
[archivename] Create a new package
vcpkg owns <pat> Search for files in installed packages
vcpkg cache List cached compiled packages
vcpkg version Display version information
vcpkg contact Display contact information to send feedback
Options:
--triplet <t> Specify the target architecture triplet.
(default: %VCPKG_DEFAULT_TRIPLET%, see ‘vcpkg help triplet‘)
--vcpkg-root <path> Specify the vcpkg root directory
(default: %VCPKG_ROOT%)
示例:
删除库(VCPKG_DEFAULT_TRIPLET指定位)
./vcpkg remove zlib libiconv
删除32位库
./vcpkg remove zlib:x86-windows libiconv:x86-windows
删除64位库
./vcpkg remove zlib:x64-windows libiconv:x64-windows
以上是关于visualstudio2019 集成vcpkg,find_package找不到模块问题的主要内容,如果未能解决你的问题,请参考以下文章