link 我用pthread库写的一个库

link a library I wrote with pthread library

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

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

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

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

谢谢!

Without changing the way test program compiles, is there a way to package the pthread library with libexample.a?

没有

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

如果不是(并且如果您使用的是 GNU linker),一个可能的解决方案是提供 libexample.a 作为 linker 脚本,这将 link 反对例如libexample_code.a 包含您的目标文件 添加 -lpthread.