之前一直是手动命令行cmake,突然发现其实可以直接用VScode的插件,淦!。

先确保自己Cmake和插件安上了。

  • 注意cmake插件设置的g++编译器位置一定要对,因为他会自动保存之前安装过的路径,不管还有没有效。
  • cmake不能自己知道tasks.json的参数设置,所以一定要用CMakeLists重新设置所有的包含路径和lib和dll对应关系,比如对于zmq的支持:
#添加zmq支持

  • 把没有main的.cpp添加为库,把有main的.cpp的添加为可执行文件:
#将所有cpp添加成动态库

有个问题就是必须添加成动态库才能编译成功,我还不太懂动态库静态库啥区别。

然后使用cmake工具条:

就能正常用了,debug也可以。

最后我调整了一下目录结构,看起来更舒服点,当然,几个配置文件的输出、读取和includepath都得调整一下就行,最后:

cmake的一个好处就是不用在头文件include cpp了,这样确实太蠢,用cmake的时候记得注释掉,还有就是可以一次生成多个exe。

想用自带编译的话再把.cpp取消注释就行了,我没在tasks里去改成cmake启动,我觉得多此一举,而且它自带的编译有的时候还是很方便的,毕竟makelist里的参数都是那里抄的。

至于CodeRunner,它的优点就是可以运行多个语言,当然都是小文件,要是编译大一点的工程的话还是得一模一样设置一遍,完全没必要。

不得不说编译工程越大,VScode要设置的东西越多,用起来越不方便,但是写代码的话VScode还是舒服得一P。

cmake copy dll输出目录_VScode下 多文件,小工程使用cmake 速记相关推荐

  1. 将idea中编译输出目录 classes 里的文件删掉,发现再次编译不能生成class文件

    将idea中编译输出目录 classes 里的文件删掉,发现再次编译不能生成class文件. 其他UP主给的解决方法如下: 解决方案:settings -> compiler 勾选自动编译选项 ...

  2. linux文件比较脚本,shell脚本之对比不同目录的下的文件

    让负责一部分代码的版本,担心公共目录下有人可能会稍微修改部分代码,因此把代码备份到自己的一个目录中,上传svn之前,如果发现公共目录的下的文件被修改,则找出变化部分,避免出现不可知的文件变化. 使用d ...

  3. VS2017设置DLL和LIB的输出目录

    VS2017设置DLL和LIB的输出目录 1.   dll 输出目录设置 工程点击右键–>配置属性–>常规–>输出目录 2.lib文件输出设置 工程点击右键–>配置属性–> ...

  4. shell获取目录下所有文件夹的名称并输出

    获取指定目录/usr/下所有文件夹的名称并输出: shell代码: 1 #!/bin/bash 2 #方法一 3 dir=$(ls -l /usr/ |awk '/^d/ {print $NF}') ...

  5. 输出目录文件被多个中间文件输出目录相同的工程包含

    时光紧张,先记一笔,后续优化与完善. case: 两个工程Proj1和Proj2,同时包括demo.cpp,其中Proj1在工程配置里预定义宏MACRO_PROJ1,Proj2在工程配置里预定义宏MA ...

  6. Unity3D打包后日志文件输出目录

    Unity3D打包后日志文件输出目录,包括日志文件和崩溃时记录文件 C:\Users\Administrator\AppData\LocalLow\长沙迪迈科股份有限公司\镍矿探秘 其中". ...

  7. linux压缩文件的类型,linux下压缩文件的类型(转)

    linux下压缩文件的类型(转) (2012-03-08 16:18:30) 标签: 杂谈 Linux下有相当多的压缩命令,初学的我们开始总是摸不清头脑,我们知道在Linux下的后缀名是没有什么很特殊 ...

  8. Linux下:文件与路径、用户管理、常用命令、vim

    文章目录 第一章: Linux文件与路径 1.1 文件结构 1.2 基本概念 1.3 基本命令信息 1.3.1 查看linux 系统信息(修改主机名) 1.3.2 ls 1.3.3 cd/pwd 1. ...

  9. Windows下的cmd小技巧

    Windows下的cmd小技巧 文章目录 Windows下的cmd小技巧 工具 信息 关机 进程管理 网络 文件 工具 calc //计算器 osk //屏幕键盘 explorer //文件管理器 n ...

最新文章

  1. Error in eval(predvars, data, env) : object ‘**‘ not found
  2. java webpack web项目_spring + spring mvc + mybatis + react + reflux + webpack Web工程例子
  3. 如何通过AppDomain用特定的安全上下文加载外部程序集
  4. aix oracle监听配置_AIX系统中安装ORACLE,客户端连接时,监听会宕掉的问题
  5. 做raid会损坏linux文件吗,如何从损坏的RAID系统挂载磁盘?
  6. Nacos系列:欢迎来到Nacos的世界!
  7. c语言闰年题目程序,浙大版《C语言程序设计(第3版)》题目集 练习3-5 输出闰年...
  8. 一文读懂全球CTRM市场的前世今生
  9. 关于使用CKplayer播放m3u8视频出现没有视频的问题分析
  10. 使用arcgis、matlab与R语言GD包进行地理探测器 批量运行,并导出探测结果
  11. c++实现吃豆子游戏
  12. 树莓派csi摄像头和usb摄像头_树莓派usb摄像头用fswebcam 设置
  13. JSCH连接SFTP Algorithm negotiation fail
  14. winform中ComboBox下拉框控件的动态数据填充
  15. 华硕a豆安装ubuntu14.04系统开启wifi
  16. android 获取root权限原理解析,手机如何获得root权限 原理以及作用是什么
  17. 杂谈||Python实现计算含保底抽卡出金期望
  18. android 小鸡走动动画,使用Matter.js实现的小鸡掉落动画
  19. python分析qq好友_Python2.7获取QQ空间部分好友
  20. 转载: 10+公司SWE/DS offer经验

热门文章

  1. 【Clickhouse】Clickhouse 普通视图
  2. Docker : Docker安装Kibana报错 Unable to revive connection: http://localhost:9200 No living connections
  3. 【flink】95-260-045-源码-检查点-CheckPoint
  4. Spring Boot 集成 Quartz
  5. springboot+mybatis日志显示SQL
  6. 03-git上传大项目的时很慢
  7. 02-windows下elasticsearch安装elasticsearch-head
  8. spark学习-42-Spark的driver理解和executor理解
  9. RocketMQ入门到入土(四)producer生产消息源码剖析
  10. Java设计模式-设计模式概述