pkokocl 2019-12-01 21:52 采纳率: 0%
浏览 3909

同样的代码code::blocks中运行正常,VSCODE中提示collect2.exe: error: ld returned 1 exit statuscollect2.exe: error: ld returned 1 exit status

一段C代码,在code::blocks中运行正常,但在VSCODE中提示C:\Users\ADMINI~1\AppData\Local\Temp\cc3JOmOu.o:test.cpp:(.text+0x93): undefined reference to `gen_Data(void*)'
collect2.exe: error: ld returned 1 exit status

代码如下:

头文件:

//kpid.h
....
typedef struct _Para
{
.....
} Para;

void gen_Data(void *p);

.c文件

//kpid.c
#include "kpid.h"
void gen_Data(void *p)
{
    Para *pa = (Para *)p;
        ......
}

main

//main.c
#include "kpid.h"

int main()
{
   Para p;
     p.menber1 = 10;    //初始化
     ....

     gen_Data(&p)
}

1、这段程序在Code::Blocks17.2 中能正常运行,可输出期望结果
2、将struct定义,gen_Data() 函数定义/实现都放到main.c文件中时(代码不变,仅放的位置移动),在vscode中也能正常运行。
3、但如上代码,定义、实现放在单独的.h,.c文件中,在main.c中包含头文件时,运行错误。提示如下。(函数名的拼写是正确的,没错)
C:\Users\ADMINI~1\AppData\Local\Temp\cc3JOmOu.o:test.cpp:(.text+0x93): undefined reference to `gen_Data(void*)'
collect2.exe: error: ld returned 1 exit status

  • 写回答

2条回答 默认 最新

  • kepxig 2021-09-11 11:06
    关注

    我也是,无语死了,vscode问题好多

    评论

报告相同问题?

悬赏问题

  • ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 来真人,不要ai!matlab有关常微分方程的问题求解决,
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法