VS2019 c++ cmake项目 打包并使用 (lib\dlll)

背景

最近项目中经常调用第三方库、带头文件、lib和dll的库,需要使用cmake进行项目管理,之前一直比较糊涂这方面,在这里做一个整理总结

编译汇编过程

在这里插入图片描述

静态链接方式:

把lib里面编译好的东西(函数、变量等),直接加入到你的执行程序中,缺点是占空间

动态链接方式:

提供一个dll, 在执行到这个dll包括的函数的时候,才会调用这个dll。优点是省空间,多个程序用一个dll

配置过程

两者都需要头文件,头文件类似是打包好的库的外部接口,在项目配置的时候,需要把头文件目录加入到项目的包含目录里

vs在进行路径检索的时候,会从自己的项目的包含目录开始找,所以要把头文件的目录放入,头文件里面的路径一般写的都是相对路径,这样才不会错

一般的配置流程:

步骤作用
把头文件目录放入项目包含目录可以在项目中引用相应的头文件、函数
把库目录(lib)放入项目库目录、把库的名字,放入附加依赖项告诉项目需要XX.lib,vs在库目录里找相应的lib
把dll放到项目根目录VS在执行的时候,会找dll,找的目录从项目的根目录开始,也会找系统的目录

VS对已有项目打包

原理:
之前写c++项目,都是可执行文件,比如一个main函数,比如一个qt程序界面,现在希望这个项目不去执行,只作为一个包来使用
打包成dll:参考博客1 参考博客2
主要步骤其实就是把vs项目的输出项变成输出dll,然后要写好定义的宏文件,作为外界调用你函数的头文件,告诉外界函数名是什么

cmake对已有项目打包

cmake配置项目的时候,经常会需要对已有的打包成lib,供可执行项目调用,或者调用第三方库
主项目cmakelist:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
子项目cmakelist:
在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值