LINUX.ORG.RU

вопрос по Boost.Python


0

0

Помогите, pls, собрать пример hello.cpp из документации Boost.Python.

Вот такой исходный код файла hello.cpp:

#include <boost/python.hpp>

using namespace boost::python;

char const* greet()
{
  return "Hello, World!";
}

BOOST_PYTHON_MODULE(hello)
{
  def("greet", greet);
}


Имеем следующий CMakeLists.txt:

set(BOOST_DIR /usr/local/include/boost-1_34)
set(PYTHON_SRC_DIR /usr/include/python2.5)
set(PYTHON_LIB_DIR /usr/lib/python2.5)

LINK_LIBRARIES(boost_python-gcc41-1_34)
INCLUDE_DIRECTORIES(${BOOST_DIR} ${PYTHON_SRC_DIR})
LINK_DIRECTORIES(${PYTHON_LIB_DIR}) # Not needed?
ADD_LIBRARY(hello SHARED hello.cpp)


Жмем:

cmake .

make

Получаем libhello.so
Переименовываем в hello.so

запускаем python:

>>> import hello
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: libboost_python-gcc41-1_34.so.1.34.0: cannot open shared object file: No such file or directory

Как это побороть?

Ответ на: комментарий от aton

>посмотри еще в сторону swig, гораздо удобней в использовании -- www.swig.org

посмотрел. обалденно! только не знаю, что теперь использовать, вроде как свиг универсальный.

jet_bird
() автор топика
Ответ на: комментарий от ero-sennin

>Это разве плохо? :)

я имел ввиду - универсальный, значит, хорошо :)

jet_bird
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.