那为什么出现了以下错误:c:/program files/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.0.1/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\17596\AppData\Local\Temp\cciDKWSp.o: in function `main': C:\Users\17596\Desktop\vscode/2.c:9: undefined reference to `say' collect2.exe: error: ld returned 1 exit status * 终端进程“C:\Program Files\mingw64\bin\gcc.exe '-Wall', '-Wextra', '-g3', 'c:\Users\17596\Desktop\vscode\2.c', '-o', 'c:\Users\17596\Desktop\vscode\output\2.exe'”已终止,退出代码: 1。 * 终端将被任务重用,按任意键关闭。
时间: 2023-08-12 18:04:19 浏览: 676
vscode 配置c/c++编译环境(里面包含视频教程,配置文件,MinGW-W64 GCC-8.1.0安装包170MB)
3星 · 编辑精心推荐
这个错误是因为在链接阶段找不到`say`函数的定义。根据你之前提供的代码,我们可以看到`say`函数是在`file1.c`中定义的,但是编译器无法找到该函数的实现。
为了解决这个问题,你需要将`file1.c`和`file2.c`一起编译链接成一个可执行文件。你可以使用以下命令来完成这个操作:
```shell
gcc file1.c file2.c -o output.exe
```
这个命令将会将`file1.c`和`file2.c`一起编译,并将生成的可执行文件命名为`output.exe`。然后你可以运行`output.exe`来执行程序。
请确保在编译时使用了两个源文件,并将它们一起链接。这样编译器就能找到`say`函数的定义并正确链接它。
阅读全文