Boost Python (Suse и Ubuntu) - PullRequest
       21

Boost Python (Suse и Ubuntu)

1 голос
/ 10 августа 2010

Я создал простую библиотеку .so, содержащую определение класса C ++, к которому нужно обращаться из Python, и для этой цели использовал библиотеку python.Когда я тестирую эту библиотеку с использованием x64 Ubuntu, достаточно установить LD_LIBRARY_PATH с путем для улучшения libs перед запуском python.Это не работает, однако, когда я использую x64 Suse.Хотя я устанавливаю LD_LIBRARY_PATH, кажется, что Python игнорирует его.

Есть ли какой-либо конкретный способ установки переменных среды в Suse?

1 Ответ

0 голосов
/ 10 августа 2010

Вы никогда не должны устанавливать LD_LIBRARY_PATH, см. здесь и здесь . Прежде всего я должен предположить, что вы установили библиотеки Boost в нестандартном месте, иначе загрузчик найдет их автоматически. Если у вас есть root-доступ к компьютеру, установите библиотеки в стандартном месте (например, с помощью менеджера пакетов или в /usr/local/lib).

Если у вас нет привилегий root, установите вместо этого runpath. При использовании компоновщика gcc сделайте это, передав опцию -rpath. Компилятор gcc может передавать параметры компоновщику через -Wl. Поэтому вызывайте компилятор следующим образом:

g++ -Wall -Wextra -Wl,-rpath /path/to/boost -L /path/to/boost -lboost_python ...
...