我-l
在使用时放置选项有些麻烦gcc
.这是一个用于重现问题的精简版本.
TC:
#include <pthread.h>
int main() {
pthread_create(0, 0, 0, 0);
}
Run Code Online (Sandbox Code Playgroud)
在终端:
$ 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)
Run Code Online (Sandbox Code Playgroud)
为什么我必须-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
Run Code Online (Sandbox Code Playgroud)
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)
Run Code Online (Sandbox Code Playgroud)
我查阅了gcc手册,它说"-l的位置很重要".究竟是什么意思?
归档时间: |
|
查看次数: |
521 次 |
最近记录: |