如何使用ldconfig添加pthread库

时间:2010-07-09 07:43:45

标签: c gcc shared-libraries

目前,在编译使用pthread库函数的C程序时,我必须明确指定编译器选项-lpthread。请建议一种配置ldconfig的方法,以便可以使用pthread库而无需在命令行中指定它。

目前lpthread -p给出以下输出:=

[root@localhost lib]# ldconfig -p | grep pthread
    libpthread.so.0 (libc6, OS ABI: Linux 2.6.9) => /lib/libpthread.so.0
    libOpenIPMIpthread.so.0 (libc6) => /usr/lib/libOpenIPMIpthread.so.0

3 个答案:

答案 0 :(得分:0)

您可以设置LD_LIBRARY_PATH env变量。

答案 1 :(得分:0)

我不相信你能做到这一点。 LD_LIBRARY_PATH和ldconfig程序用于设置共享库的路径,这些库用于在运行时中解析可执行文件中的依赖项。

编译时,您必须指定在链接阶段包含哪些库,即-lpthread

答案 2 :(得分:0)

pthreads库是一个动态库。这意味着,为了使用其功能,您的二进制文件中的文件 distinct 必须在运行时

您可以通过多种方式完成此操作。设置-lpthread将自动设置所需的编译器标志。通过LD_PRELOAD提供共享文件也会这样做。或者你明确地使用了pthreaded程序dlopen

但正确的方法是提供正确的编译器开关。