z1548325878 2022-03-27 15:57 采纳率: 77.8%
浏览 803
已结题

VScode配置头文件路径的问题

如图所示,我已经在c_cpp_properties.json和tasks.json文件中添加了头文件路径

img

img


并且在该路径下放了个use.h头文件。
现在我的问题是,实现use.h中所声明的函数的源代码use.cpp该放在哪里?我放在跟use.h相同路径下编译通过但是程序中断

img

img

img

img

自问自答:
找到原因了,是因为task.json配置中,编译参数只会把本文件传递给编译器。而此题中的use.cpp未编译,所以get函数未定义。
目前找到的方法是把目标路径下所有文件都参与编译,感觉这个方法有点粗暴。继续求问有没有只编译本文件和include涉及到的文件的方法?

  • 写回答

3条回答 默认 最新

  • 关注

    在 #include "use.h"下一行,加上#include "use.cpp",其实就相当于在一个文件中进行声明和定义了。
    如果"use.cpp"编译成lib文件了,就不必加载cpp了,比如"use.a",在tasks加上“-luse"即可。
    文件多了会相当烦,就要学学cmake或xmake之类的工具了。
    你的tasks写的相当详细,不错。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 4月4日
  • 已采纳回答 3月27日
  • 修改了问题 3月27日
  • 修改了问题 3月27日
  • 展开全部

悬赏问题

  • ¥15 硬盘识别不了,需要初始化,可我的数据怎么办
  • ¥15 lvm2被mask了,怎么unmask都没用(标签-ubuntu|关键词-apt)
  • ¥15 交叉注意力机制的残差问题
  • ¥15 微信小程序:渲染收货地址时页面不显示
  • ¥20 win7 64位DirectShow提示初始化失败如何解决?
  • ¥20 小规模孤立词识别系统设计
  • ¥15 关于Java对接海康威视车牌识别一体机SDK是否需要固定外网的IP?
  • ¥15 Linux扩容时,格式化卡住了:vgdispaly查看卷组信息,没有输出
  • ¥18 关于#ubuntu#的问题:使用背景-工作职责内有七八台ubuntu系统的电脑,平时需要互相调取资料,想实现把这几台电脑用交换机组成一个局域网,来实现指定文件夹的互相调取和写入
  • ¥20 求一个简易射频信号综测仪