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涉及到的文件的方法?

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

iiiiii

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