链接我用pthread库编写的库

时间:2015-03-28 12:21:09

标签: c linker pthreads ar

这实际上是作业的一部分。基本上,我们需要编写一个库,它将与教授编写的测试程序相关联,如下所示:

gcc -o libexample.o -c libexample.c
ar rvs libexample.a libexample.o

#later
gcc -o test test.c -L . -lexample

问题是libexample使用POSIX信号量,在生成最终可执行文件时需要链接到pthread库。如果不改变测试程序编译的方式,有没有办法用libexample.a打包pthread库?

谢谢!

1 个答案:

答案 0 :(得分:1)

  

如果不改变测试程序编译的方式,有没有办法用libexample.a打包pthread库?

没有

您是否仅限于提供单个libexample.a文件?

如果不是(如果您使用的是GNU链接器),可能的解决方案是提供libexample.a作为链接器脚本,它将链接到例如libexample_code.a包含您的目标文件添加-lpthread