c - 链接我用 pthread 库编写的库

标签 c linker pthreads unix-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 库链接。在不改变测试程序编译方式的情况下,有没有办法将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 链接器),一个可能的解决方案是提供 libexample.a 作为链接器脚本,它将链接到例如libexample_code.a 包含您的目标文件添加-lpthread

关于c - 链接我用 pthread 库编写的库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29317078/

相关文章:

linux - NUMA 感知缓存对齐内存分配

c - 为什么指针会无缘无故地改变?

c - 函数不以 return 语句结束

c++ - 我可以以任何方式将数据分配给从 OpenCV 对象取消引用的双函数返回检索吗?

c++ - 除了静态库之外,我还可以将共享库与 "gcc -llibnamehere"绑定(bind)吗?

c++ - 为什么没有在这个 C++ 类的 .o 文件中定义一个函数?

php - 如何计算 PHP 脚本(linux)中的处理器内核数?

c - C中的生产者/消费者,带有pthread信号量和多线程

c - 未找到 strcpy-sse2-unaligned.S

c++ - Visual Studio 2013 上的 C++ 中的 glib