繁体   English   中英

Boost.python构建

[英]Boost.python building

真的不明白,如何正确构建使用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);
}

这是bulid日志: http : //dpaste.com/179232/ 无法想象我忘记了什么。


系统:arch linux;

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

看起来好像是链接阶段缺少的库。 所有这些未定义的引用都包含在Python库中。 您可能只需要在最后一个gcc命令中添加“ -lpython2.5”之类的内容即可。

您似乎缺少python本身的标头。

PySequence_GetSlicePyExc_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之前#include任何系统标头。 该限制实际上是由Python或更确切地说是由Python与您的操作系统的交互施加的。 有关详细信息,请参见http://docs.python.org/ext/simpleExample.html

也许可以帮上忙吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM