问题描述
使用vscode编写C代码,导入自定义.c文件中的函数时,报错:
undefined reference to `a_val‘collect2.exe: error: ld returned 1 exit status
解决方法
项目目录

文件内容
头文件
// Test1.h
# pragma once
void fun1();
// Test2.h
# pragma once
void fun2();
源文件
// test1.c
#include<stdio.h>
#include<stdlib.h>
#include "../header/Test1.h"
void fun1()
{
printf("%d\n",2);
}
// test2.c
#include<stdio.h>
#include<stdlib.h>
#include "../header/Test2.h"
void fun2()
{
printf("%d\n",2);
}
// main.c
#include<stdio.h>
#include<stdlib.h>
#include "../header/Test1.h"
#include "../header/Test2.h"
int main()
{
fun1();
fun2();
return 0;
}
修改配置
1)文件->首选项->设置

2)输入code runner,找到Executor Map,打开json配置文件
3)找到c将其中的$fileName改为*.c


PS:如果有需要,c++对应的cpp也可以一起更改
关注一下
如果喜欢的话,关注我吧,公众号:编码魔坊
本文介绍如何在Visual Studio Code中编写C代码时解决`undefined reference to a_val`错误,涉及头文件包含、链接配置和设置优化。详细步骤包括修改设置文件,针对.c文件扩展执行器,并提供必要的头文件和源文件示例。
1949

被折叠的 条评论
为什么被折叠?



