自己编写的库文件在VS code上报错:undefined reference to ‘xxx’
工程目录如下:
报错 xxxx does not exist
有可能是因为launch.jason配置出问题了。
参考文章:解决VSCode出现“launch: program … does not exist”的问题
参考2
vscode的launch:program ‘‘ does not exist
如果仍未解决,观察编译器报错: undefined reference to xxxxx
发现这是因为VS code编译时只对main函数文件进行编译,而我们编写的函数分文件 libHelloSlam.cpp 没有被编译,所以出现报错。
解决方案:把文件目录复制到task.json里面
如下:
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: g++ 生成活动文件",
"command": "/usr/bin/g++",
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"/home/gglin/slambook2-master/ch2/libHelloSLAM.cpp",
"-o",
"${fileDirname}/${fileBasenameNoExtension}"
],
代码倒数第三行。
然后就解决问题了。!!