Связывание библиотеки, созданной из исходного кода, с программой, управляемой autotools - PullRequest
0 голосов
/ 07 ноября 2011

У меня есть программа на c, для которой требуется библиотека с именем libnuma. Но у меня нет доступа с правами root на параллельной машине, на которой мне нужно запустить эту программу. Поэтому я скачал исходный код libnuma и скомпилировал его. У меня есть файл libnuma.a, который я предполагаю, является библиотекой. Мне нужно связать эту библиотеку с программой, которая у меня есть. Эта программа использует автоинструменты для генерации файлов конфигурации и make-файла. Я новичок в автоинструментах. Пожалуйста, скажите мне, что я должен сделать, чтобы связать эту библиотеку, не будучи пользователем root.

Аджай.

1 Ответ

2 голосов
/ 07 ноября 2011

Должно быть достаточно установить CPPFLAGS и LDFLAGS.Сначала попробуйте:

$ ./configure LDFLAGS=-L/path/to/lib CPPFLAGS=-I/path/to/include

(где libnuma.a - это /path/to/lib/libnuma.a, а numa.h - /path/to/include/numa.h. То есть укажитекаталоги.) Если это не работает, проверьте config.log, чтобы увидеть, что пошло не так.Если скрипт configure для используемой вами программы был собран со старой версией autoconf, вам может потребоваться:

$ LDFLAGS=-L/path/to/lib CPPFLAGS=-I/path/to/include ./configure

.(Второй вызов будет работать только в оболочках Bourne. В csh / tcsh вам нужно будет установить переменные окружения другим способом, например, с помощью env.) У вас также есть возможность сделать эти настройки в среде вашей оболочки (например, в .bashrc) или в файле config.site.

...