Boost.python здание - PullRequest
       5

Boost.python здание

1 голос
/ 04 апреля 2010

действительно не могу понять, как правильно построить проект, использующий boost.python.Я включил boost_ (python / thread / system) -mt.Вот простой файл модуля:

#include <boost/python.hpp>
#include "script.hpp"
#include "boost/python/detail/wrap_python.hpp"

BOOST_PYTHON_MODULE(temp)
{
    namespace py = boost::python;

    py::def("PyLog", &engine::log);
}

Вот лог журнала: http://dpaste.com/179232/. Не представляю, что я забыл.


Система: arch linux;

ls / usr / lib | grep boost: http://dpaste.com/179233/

Ответы [ 2 ]

2 голосов
/ 04 апреля 2010

Это похоже на отсутствующую библиотеку в фазе соединения. Все эти неопределенные ссылки включены в библиотеку Python. Возможно, вам просто нужно добавить что-то вроде «-lpython2.5» в вашу последнюю команду gcc.

1 голос
/ 04 апреля 2010

Похоже, вам не хватает заголовков самого Python.

Такие символы, как PySequence_GetSlice и PyExc_ValueError взяты из заголовков Python, а не заголовков boost :: python.

Это все, что я могу сказать, извини. Я действительно не знаю, Boost :: Python. Я удивлен, что у вас нет ошибки с отсутствующим включаемым файлом. Я предполагаю, что boost :: python не включает сами заголовки python?

Кстати, я видел следующее на http://www.boost.org/doc/libs/1_42_0/libs/python/doc/building.html

Обязательно не включайте # системные заголовки перед wrap_python.hpp. Это ограничение фактически наложено Python или, точнее, Взаимодействие Python с вашим операционная система. Увидеть http://docs.python.org/ext/simpleExample.html для деталей.

Может быть, это может помочь?

...