linux 编译选项 l,linux – 在gcc中放置`-l’选项

使用gcc时,我在放置-l选项时遇到了一些麻烦.这是一个用于重现问题的精简版本.

T.C:

#include

int main() {

pthread_create(0, 0, 0, 0);

}

在终端:

$gcc -lpthread t.c

/tmp/ccmkwV7B.o: In function `main':

t.c:(.text+0x29): undefined reference to `pthread_create'

collect2: ld returned 1 exit status

$gcc t.c -lpthread

$(compiles ok)

为什么我必须把-lpthread放到最后才能使它工作?而且似乎这个问题只发生在32位linux上.

我的环境信息如下:

gcc -lpthread t.c在这台机器上失败了.

$gcc --version

gcc (Ubuntu/Linaro 4.6.1-9ubuntu3) 4.6.1

$uname -rm

3.0.0-12-generic i686

gcc -lpthread t.c可以在这台机器上运行.

$uname -rm

2.6.18-274.3.1.el5 x86_64

$gcc --version

gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-51)

我查阅了gcc手册,它说“-l的位置很重要”.究竟是什么意思?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值