cmake、vcpkg工具使用介绍

1.cmake工具

  关于cmake的知识,已经在前面make与cmake中有所介绍,接下来主要是cmake软件的介绍以及里面的一些小知识。cmake的下载网址为:https://cmake.org/,软件的界面如下所示,where is the source code是要编译的源码所在的文件夹,这个文件夹里包含着CMakeList.txt,跨平台项目的编译一般主要是通过这个文档来实现。where to build the binaries是存放编译生成的项目文件。
在这里插入图片描述
configure为配置按钮,一般是在指定前面两个地址时要进行的下一步操作。此时会出现如下界面(这里以一个opencv库配置为例),,第一个是要选择和你VS适配的版本,第二个是选择64位,对应着VS里的x64。在这里插入图片描述
一般不会报错(最好有个工具以保证能下载github上的代码)。在这里插入图片描述
这里需要知道的几个常用项:+Add Entry这个按钮对应于cmake中的set命令,可以设置普通变量、缓存条目、环境变量三种变量的值

在这里插入图片描述在这里插入图片描述

UILD_SHARED_LIB是 add_library() 的一个全局标志,当 add_library() 没有指定 [STATIC | SHARED | MODULE] 是哪一个时,可以决定为生成动态库还是静态库。ON: 让 add_library() 生成 .dll 动态库,对应 SHARED;OFF: 让 add_library() 生成 .lib 静态库,对应 STATIC。
在这里插入图片描述
CMAKE_INSTALL_PREFIX是cmake内置变量,用于指定cmake执行install目标时,安装的路径前缀,在命令行的执行cmake -DCMAKE_INSTALL_PREFIX=<想要安装的路径>
在这里插入图片描述
CMAKE_BUILD_TYPE可选值包括:
  Debug:用于在没有优化的情况下,使用带有调试符号构建库或可执行文件
  Release:用于构建的优化的库或可执行文件,不包含调试符号
  RelWithDebInfo:由于构建较少的优化库或可执行文件,包含调试符号
  MinSizeRel:用于不增加目标代码大小的优化方式,来构建或可执行文件
对应于命令行cmake .. -D CMAKE_BUILD_TYPE="Release"
在这里插入图片描述

Generate为生成项目文件,一般要以管理员权限来打开VS,然后用VS打开where to build the binaries中生成的项目,这样一般可以避免setlocal的报错。然后在项目里找到ALL build,分别在debug和release下编译(选中ALL build,右键点击生成)(或者采取批生成方式,结果如下图),直到全部编译成功为止。然后找到INSTALL,分别在debug和release下编译即完成了库的编译。
在这里插入图片描述

2.vcpkg工具

  vcpkg是c++第三方库管理工具,可以帮C++程序员快速的获取编译第三方库,一般C++第三方库需要手动编译,配置各种环境,例如OpenMVS,很多人基本编译不了。有了vcpkg, 只要一条命令就可以获取到这些库,很方便。
  接下来首先介绍以下vcpkg的安装使用,最好有电脑自带的Windows PowerShell以及git配合,git的下载地址为https://git-scm.com/downloads,全部默认安装,然后就可以打开电脑自带的Windows PowerShell开始clone vcpkg, 命令:git clone https://github.com/Microsoft/vcpkg.git ,cd到vcpkg目录,执行脚本bootstrap-vcpkg.bat得到vcpkg.exe,然后就可以使用vcpkg安装各种库了(哎,最近用这个没以前好使了)。安装第三方库的命令:vcpkg install [name],默认安装的是32位,如果要选择64位的话,可以在后面加上:x64-windows,指令如下::vcpkg install [name]:x64-windows。当然也可以在在系统变量中添加变量名:VCPKG_DEFAULT_TRIPLET,变量值:x64-windows,来使默认安装的库都是64位。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值