Мой магазин разработок собрал довольно полезный набор тестов на основе Python, и мы хотели бы протестировать с ним некоторый код C ++ на основе Linux. Мы получили тестовый проект, который они поставляют с Boost для компиляции (введите «bjam» в каталоге, и он работает), но у нас возникли проблемы с нашим реальным проектом.
Сборка библиотек boost и bjam из исходного кода (v1.35.0), когда я запускаю bjam, я получаю .so в каталоге bin / gcc-4.1.2 / debug. Я запускаю python и "import" и получаю:
Ошибка импорта: libboost_python-gcc41-d-1_35.so.1.35.0
: не удается открыть файл общего объекта: такого файла или каталога нет
Глядя в каталог библиотеки, у меня есть следующее:
libboost_python-gcc41-mt-1_35.so
libboost_python-gcc41-mt-1_35.so.1.35.0
libboost_python-gcc41-mt.so
Очевидно, что мне нужны -d вместо библиотек -mt или чтобы указывать на библиотеки -mt вместо -d, но я не могу понять, как заставить мой файл Jamroot делать это.
Когда я устанавливаю версии библиотек Debian Etch, я получаю «Нет Jamfile в / usr / include» - и есть ошибка debian, которая говорит о том, что они исключили jamfile системного уровня.
Я больше надеюсь на то, что он будет работать из исходного кода, поэтому, если у кого-нибудь есть какие-либо предложения по решению проблем с библиотеками, я бы хотел их услышать.
Ответ на ответ 1: Спасибо за подсказку. Итак, вы знаете, как я мог бы заставить его использовать библиотеки MT вместо этого? Кажется, это скорее проблема с bjam или Jamfile, который я использую, думая, что я в режиме отладки, хотя я не могу найти никаких флагов для этого. Хотя я знаю, как включить определенные библиотеки в вызов GCC, я не вижу способа настроить это с конца Boost.