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

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写的相当详细,不错。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • 复兴的柱子 2022-03-27 16:03
    关注

    iiiiii

    评论
  • z1548325878 2022-03-27 16:27
    关注

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

    评论
查看更多回答(2条)

报告相同问题?

问题事件

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

悬赏问题

  • ¥50 burgers方程求逆
  • ¥15 matlab最小二乘法拟合非线性曲线提问
  • ¥15 电脑锁屏时vba运行SAP,excel数据不能复制到SAP
  • ¥50 74LS系列 74LS00 74LS04设计一个RS485电路(关键词-差分)
  • ¥30 各位help写一下代码
  • ¥15 在运行SDEdit模型下载不了
  • ¥15 求51控制l298n驱动的小车中超声波避障怎么写
  • ¥15 电脑连上WIFI却用不了
  • ¥30 MATLAB在RLC电路的固有响应和阶跃响应GUI仿真报告
  • ¥15 hyper-v出现的问题