windows 上 cmake 添加 vcpkg 选项
使用 cmake 编写相关的工程时,工程有时会使用 vcpkg 添加的第三方库,比如 zip 库
查看一些案例后,我发现有些回答不太准确,遂记录下
现在,我们需要在工程中使用 zip_open 函数执行压缩命令,这个函数是 zip.h 里的,所以我们先要添加 zip 库
打开 cmd,输入 vcpkg install libzip:x86-windows-static

如果提示找不到 vcpkg 的,可以导航到【编辑系统环境变量】,【环境变量】->【系统变量】-> [PATH],添加 vcpkg.exe 路径


安装完 linzip 后,注意命令行窗口输出的提示,这个很重要

接着在 CMakeLists.txt 中添加 libizp
project(my_project)
find_package(libzip CONFIG REQUIRED)
...
add_executable(my_project ${SOURCES} ${HEADERS} ${RESOURCE_FILES})
target_link_libraries(my_project PRIVATE libzip::zip)
上面注明了先后顺序,比如 find_package 必须在 project 的后面设置,target_link_libraries 在 add_executable 后面设置
然后,在 x86 Native Tools Command Prompt for VS 2019 窗口导航到你的项目目录,如果你需要 x64,选择 x64 Native Tools 即可

为什么不直接使用 cmd 窗口输入呢?因为 cmd 窗口没有集成 msbuild 一些编译环境
最后,输入下面的 cmake 命令即可
cmake .. -DCMAKE_TOOLCHAIN_FILE=C:\Users\xxx\vcpkg\scripts\buildsystems\vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x86-windows-static msbuild my_project.sln /p:Configuration=Release
如果提示找不到 msbuild,那就先指定绝对路径测试一下吧
# powershell 下输入
& 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\msbuild.exe' my_project.sln /p:Configuration=Release
小结:新手常常误认为直接添加 zip 库就行
比如说这样,
find_package(zip)
这样在 cmake 时,会提示找不到 zip.config,包括一些搜索结果建议你在 target_link_directories 里添加 zip_INCLUDE_DIRS 之类的头文件路径,也是不准确的
就如我上面所说,只添加两行就行,其余交给 cmake 时指定的 tool chain
windows 上 cmake 添加 vcpkg 选项的更多相关文章
- windows上redis添加密码
命令: config get requirepass config set requirepass pwd redis-server.exe redis-windows.conf. auth pw ...
- windows上memecache添加多个端口命令
sc create "Memcached Server1" start= auto binPath= "D:\01_Soft\memcached\memcached.ex ...
- (转)Windows上使用CMake
CMake简介 原文:http://blog.gclxry.com/use-cmake-on-windows/ 你或许听过好几种 Make 工具,例如 GNU Make ,QT 的 qmake ,微软 ...
- 【KAWAKO】在windows上用CMake和MinGW编译c++工程
目录 安装CMake 安装MinGW 编写CMakeLists.txt 编译一条龙 安装CMake 在网上随便找个教程照着安装就行了,不再赘述. 安装MinGW 参考这篇博客.从MinGW官网下载的安 ...
- windows上用vs2017静态编译onnxruntime-gpu CUDA cuDNN TensorRT的坎坷之路
因为工作业务需求的关系,需编译onnxruntime引入项目中使用,主项目exe是使用的vs2017+qt5.12. onnxruntime就不用介绍是啥了撒,在优化和加速AI机器学习推理和训练这块赫 ...
- 深入体验bash on windows,在windows上搭建原生的linux开发环境,酷!
今年微软Build 2016大会最让开发人员兴奋的消息之一,就是在Windows上可以原生运行Linux bash,对开发人员来说,这是一个喜闻乐见的消息. 1 安装 你必须安装开发者预览版本,才能使 ...
- 在Windows上安装MySQL(免安装ZIP版)
在 Windows 上安装MySQL(免安装ZIP版) 因为一些原因,重新安装了MySQL数据库,重装时习惯性使用最新版下载 此过程中发现MySQL 5.7.12 和MySQL 5.6的安装有些区别: ...
- 在Windows上使用Let加密IIS
在Windows上使用Let加密IIS https://weblog.west-wind.com/posts/2016/Feb/22/Using-Lets-Encrypt-with-IIS-on-Wi ...
- 批处理启动vm虚拟机服务 vm12启动无界面启动vm虚拟机系统 windows上如何操作服务 sc net启动关闭服务
windows(win10)批处理脚本 打开vm虚拟机的服务,并且开启无界面虚拟机 @echo off net start "vds" net start "VMAuth ...
- 在windows上安装VTK
看了很多教程,花了1天半的时间装上了,记录下. 前置条件:我安装了VS2015,用来编译工程. 参考资料 官方:http://www.vtk.org/Wiki/VTK/Building 安装:http ...
随机推荐
- OB指定开源版本MySQL模式单节点安装
OB指定开源版本MySQL模式单节点安装 yum源处理 yum install -y yum-utils yum-config-manager --add-repo https://mirrors.a ...
- [转帖]高性能分布式对象存储——MinIO实战操作(MinIO扩容)
https://juejin.cn/post/7132852449244610574 一.前言 MinIO的基础概念和环境部署可以参考我之前的文章:高性能分布式对象存储--MinIO(环境部署) 二. ...
- [转帖]Day63_Kafka(一)
第一讲 Kafka基础操作 课程大纲 课程内容 学习效果 掌握目标 Kafka简介 消息队列 掌握 Kafka简介 Kafka分布式环境 Kafka操作 Kafka shell 掌握 Kafka ap ...
- [转帖]【Python】计算程序运行时间的方法总结
一.第一种方法 利用time包: import time def test(): start_time = time.time() # 记录程序开始运行时间 s = 0 for i in range( ...
- [转帖]iptables的四表五链与NAT工作原理
本文主要介绍了iptables的基本工作原理和四表五链等基本概念以及NAT的工作原理. 1.iptables简介 我们先来看一下netfilter官网对iptables的描述: iptables is ...
- [转帖]java -d 参数(系统属性) 和 环境变量
https://www.cnblogs.com/limeiyang/p/16565920.html 1. -d 参数说明 通过 java -h 查看可知: 注意:-D= : set a system ...
- 龙芯中标麒麟 上面安装libgdiplus的方法
其实方法与之前的blog 基本上完全一样 但是发现有一个问题 安装完libgdiplus之后必须重启一下才能有效果... CentOS 安装libgdi的方法 1. 安装必须的包 1 yum ins ...
- echarts饼图中央自定义文字
var option = { tooltip: { trigger: 'item' }, legend: { top: '5%', left: 'center' }, //中央自定义文字 title: ...
- 【小测试】fastcgo 调用 c 代码
作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 找到了一个项目 https://github.com/pe ...
- 修改windows电脑键盘按键映射
改键的需求 买了一把61键的小键盘,有些按钮没有,比如Home.End.四个方向键,这些键需要按Fn+XX来实现,所以上网查了一下键盘按键修改的方法,即把按键给改了,比如把右边的Ctrl改成方向键. ...