1、报错原因
在vscode中运行自定义的一些函数头文件等文件windows下出现无法生成exe的现象,根目录下运行其它test.cpp文件能够正常运行,奇怪。报错如下。应该可能是.vscode文件配置问题
并出现一下一系列:..... undefined reference to ’func()
在linux系统下进行了再次测试,c_cpp,launch,task配置基本没有太多改变,运行Run C/C++,出现如下错误:
The preLaunchTask 'C/C++: g++ build active file' terminated with exit code 1
应该是task文件中的问题
2、解决办法
网上有很多解决办法似乎都不能解决我的问题,大致如下:
1、编译器路径问题
2、task文件的label与launch文件的preLaunchTask名字一致。
3、task文件的type值要改成shell
4、代码有误/没保存
在经过一番苦找之后参考了这位博主https://www.cnblogs.com/xiaml/articles/17425759.html终于找到了相关的解决办法(C++多文件编译)
在我根目录下的src文件夹下一些cpp和头文件,只需要将相关的*.cpp文件进行关联(除main以外的)
在task.json的${file}下面添相关cpp文件即可,如下所示,成功在windows和linux下都成功运行。