setup.py ld не может найти присутствующую библиотеку, пути настроены

StackOverflow https://stackoverflow.com//questions/11660928

Вопрос

Я пытаюсь собрать интерфейс Cython к библиотеке C, используя этот урок: Использование C Библиотеки с Cython но когда я пойду на это с:

python2 setup.py build_ext -i
.

Линкер не может найти библиотеку (имя библиотеки - libHorde3D)

gcc -pthread -shared -Wl,-O1,--sort-common,--as-needed,-z,relro,--hash-style=gnu build/temp.linux-x86_64-2.7/horde3d.o -L/usr/lib -llibHorde3D -lpython2.7 -o /home/kiril/workspace/horde3d_python/cython/horde3d.so
/usr/bin/ld: cannot find -llibHorde3D
.

Это очень своеобразно, так как libhorde3d.so присутствует в моем / usr / lib и в моем / opt / lib, путь поиска для линкера настроен в /etc/ld.conf, чтобы посмотреть в эти каталоги, и я попробовал Установка пути поиска со следующими переменными: Ld_library_path, liblic_path, ldflags, а также путем проходящего его прямо:

python2 setup.py build_ext -i -L/opt/lib
.

Я сделал генеракодицетагкод, и библиотека перечислена:

/usr/lib:
    libHorde3D.so -> libHorde3D.so
/opt/lib:
    libHorde3D.so -> libHorde3D.so
.

Для хорошей меры я пытался изменить владельца на «root», все еще ничего.

Что происходит здесь? Тем более, что я могу связать библиотеку, если линкер вызывается из кода :: Блоки (при работе на одном дополнительном C ++).

Спасибо заранее!

Это было полезно?

Решение

Я думаю, вам просто нужно просто удалить слово lib из вашего аргумента -l, поэтому измените его на -lHorde3D

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top