s1e32链接属性问题
第一个文件:#include <stdio.h>
void a(void);
void b(void);
void c(void);
int count;
int main(void)
{
a();
b();
c();
b();
printf("小郭今天一共被抱了%d次!\n", count);
return 0;
}
第二个文件:
extern int count;
void a(void)
{
count++;
}
请问这俩个文件如何在DevC++中成功运行,现今以创一个新的项目,里面分别分别包含俩个文件的代码但是有以下报错,然后跳出貌似是devC++的源代码
C:\Users\12075\Desktop\FishC\作用域和连接属性\text.4.o text.4.c:(.text+0x0): multiple definition of `a'
C:\Users\12075\Desktop\FishC\作用域和连接属性\text3.o text3.c:(.text+0x0): first defined here
C:\Users\12075\Desktop\FishC\作用域和连接属性\collect2.exe ld returned 1 exit status
C:\Users\12075\Desktop\FishC\作用域和连接属性\Makefile.win recipe for target 'Project1.exe' failed
另外,已经试过把abc的声明另外创一个文件包含在同一个文件夹,也试过在第一个主文件夹里面加入#include < b.c >,还是报出相同的错误 第一个文件前面改成
extern void a(void);
extern void b(void);
extern void c(void);
另外你只有a()有定义?b()和c()都没定义? 主文件加载别的文件。
参考:
https://blog.csdn.net/qq_27664167/article/details/82859852 风车呼呼呼 发表于 2022-4-15 16:49
第一个文件前面改成
另外你只有a()有定义?b()和c()都没定义?
有哇,我前面就有定义了,我现在改成这个还是报错,大佬帮我看看
第一个文件
#include <stdio.h>
extern void a(void);
extern void b(void);
extern void c(void);
extern int count;
int main(void)
{
a();
b();
c();
b();
printf("小郭今天一共被抱了%d次!\n", count);
return 0;
}
第二个文件
int count;
void a(void)
{
count++;
}
第三个文件
void a();
void b();
void c();
void a()
{
count++;
}
void b()
{
count++;
}
void c()
{
count++;
}
ba21 发表于 2022-4-15 16:49
主文件加载别的文件。
参考:
https://blog.csdn.net/qq_27664167/article/details/82859852
这个我有查到过,还是搞不定{:5_100:} 一般包含头文件,你怎么包含源文件啊?b.c这个文件是不是和你的第一个文件在一个目录里,在一个目录就用#include "b.c"。推荐你直接把b.c的代码放在头文件b.h里。 znuxc 发表于 2022-4-15 19:23
有哇,我前面就有定义了,我现在改成这个还是报错,大佬帮我看看
第一个文件
#include
你这a()怎么在第二个和第三个文件都写了定义啊。。。 znuxc 发表于 2022-4-15 19:23
有哇,我前面就有定义了,我现在改成这个还是报错,大佬帮我看看
第一个文件
#include
你把这些文件名写详细点,文件比较多的话尽量创建一个工程来编译,把那些文件都放在工程里。 你这个a函数还重载了? #include <stdio.h>
#include "b.c"
void a(void);
int count;
int main(void)
{
a();
count++;
printf("小郭今天一共被抱了%d次!\n", count);
return 0;
}
b.c
extern int count;
void a(void)
{
count++;
} ba21 发表于 2022-4-15 19:43
b.c
刚刚打的跟你的一模一样,还是报错,会不会是创建工程的时候出现了问题,能细说下创建工程的流程吗,谢谢大佬 zzxhh628 发表于 2022-4-15 19:32
你这个a函数还重载了?
哦哦,我已经改掉啦 风车呼呼呼 发表于 2022-4-15 19:31
你这a()怎么在第二个和第三个文件都写了定义啊。。。
改了改了{:10_266:} ba21 发表于 2022-4-15 19:43
b.c
搞懂了搞懂了,建立项目的时候错了,谢谢大佬!!!
页:
[1]