700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > collect2: error: ld returned 1 exit status(Linux下Gcc编译问题)

collect2: error: ld returned 1 exit status(Linux下Gcc编译问题)

时间:2023-01-05 08:30:21

相关推荐

collect2: error: ld returned 1 exit status(Linux下Gcc编译问题)

今天在编译c语言程序时遇到了这个问题,主要原因是对gcc的编译不理解造成的。

a.h

t add(int x,int y);

a.c

#include <stdio.h>int add(int x,int y){return (x+y);}

b.c

#include<stdio.h>#include "a.h"int main(){int a=add(1,2);printf("%d",a);}

以上述为例,编译并执行此种情况下的程序步骤如下:

gcc -c a.c 编译add函数以产生目标文件.gcc -c b.cgcc -o b b.o a.o 将b程序与编译好的目标模块a.o进行链接./b

gcc -c参数的作用是阻止编译器创建一个完整的程序,如果此时试图创建一个完整的程序将不会成功,因为你还未定义main函数.

如果直接使用cc -o b b.c -g就会报collect2: error: ld returned 1 exit status这样的错误,我觉得因为此时必须像上面那样为编译器显示指定目标文件,不然编译器找不到目标文件。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。