Как использовать ldconfig для добавления библиотеки pthread - PullRequest
0 голосов
/ 09 июля 2010

В настоящее время при компиляции программы на C, которая использует библиотечную функцию pthread, я должен явно указать опцию компилятора -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 голосов
/ 09 июля 2010

Я не верю, что ты можешь сделать это. Программы LD_LIBRARY_PATH и ldconfig используются для установки путей к разделяемым библиотекам, которые используются для разрешения зависимостей в вашем исполняемом файле при время выполнения .

При компиляции вам нужно будет указать, какие библиотеки включить на этапе компоновки, т.е. -lpthread

0 голосов
/ 09 июля 2010

Библиотека pthreads - это динамическая библиотека .Это означает, что для использования его функциональных возможностей файл , отличный от вашего двоичного файла, должен быть доступен во время выполнения .

. Это можно сделать несколькими способами.Установка -lpthread автоматически установит нужные флаги компилятора.Предоставление общего файла через LD_PRELOAD сделает то же самое.Или у вас есть pthreaded программа dlopen, библиотека явно.

Но правильный способ сделать это - предоставить правильные ключи компилятора.

0 голосов
/ 09 июля 2010

Вы можете установить переменную LD_LIBRARY_PATH env.

...