collect2: error: ld returned 1 exit status(Linux下Gcc编译问题)
linux-dash
A beautiful web dashboard for Linux
项目地址:https://gitcode.com/gh_mirrors/li/linux-dash
免费下载资源
·
今天在编译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.c
gcc -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这样的错误,我觉得因为此时必须像上面那样为编译器显示指定目标文件,不然编译器找不到目标文件。
GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:1 个月前 )
186a802e
added ecosystem file for PM2 4 年前
5def40a3
Add host customization support for the NodeJS version 4 年前
更多推荐
已为社区贡献5条内容
所有评论(0)