Использование libtool для связи с библиотеками не-libtool

У меня есть проект с Autotools создать библиотеку C ++, включающую привязки Python с Boost.Python.
У меня есть двоичный файл Boost.Python в моей системе, с которым я хочу связать:

/usr/lib/libboost_python-py27.so.1.49.0

Нет соответствующего файла .la, поэтому я подумал, что могу добавить полный путь к библиотеке Libtool Команда похожа на это:

bash ./libtool --mode=link g++ -rpath /usr/local/lib src/o1.lo src/o2.lo ... \
/usr/lib/libboost_python-py27.so.1.49.0 -o libNSM.la

Но Libtool отбрасывает /usr/lib/libboost_python-py27.so.1.49.0 из выпущенного г ++ команда. Если я бегу г ++ от руки работает нормально.

Как я могу сделать Libtool использовать собственную разделяемую библиотеку или что было бы правильным способом справиться с такой ситуацией. Я определенно хочу, чтобы пользователи могли использовать свои существующие бинарные файлы.

2

Решение

В моей системе есть двоичный файл Boost.Python, с которым я хочу связать

Вы установили boost-devel установить символическую ссылку на /usr/lib/libboost_python-py27.so.1.49.0?

Нет соответствующего файла .la

Это не требуется для libtool связывать. Если boost-devel пакет установлен -lboost_python-py27 вероятно будет достаточно.

Как я могу сделать так, чтобы libtool использовал собственную разделяемую библиотеку или как можно было бы справиться с такой ситуацией. Я определенно хочу, чтобы пользователи могли использовать свои существующие бинарные файлы.

Вы можете посмотреть на AX_BOOST_PYTHON макрос из GNU Autoconf Archive
чтобы помочь пользователю настроить желаемую библиотеку для libboost_python (Вам может понадобиться больше, чем просто этот конкретный макрос). boost.m4 макрос также поддерживает Python и должен обеспечивать что-то подобное.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]