0
我已经在C++中编写了一个函数并且已成功构建。boost python C++函数调用另一个函数错误
但是,如果我只是从C++中的另一个函数调用它,那么构建失败。
double getlistvalue(boost::python::list l, int index)
{
if (index = -1)
return 0;
else
return boost::python::extract<double>(l[index]);
}
double xx(boost::python::list l, int index)
{
return getlistvalue(l, index);
}
上面的代码,没有第二个函数,它构建。
以下是错误信息: error info
请分享如何解决这个问题的想法。非常感谢。
非常感谢您的回复,您的回答是正确的,将解决问题。发现另一种方法是在包含boost/python头文件之前添加#define BOOST_PYTHON_STATIC_LIB。只针对有类似问题的人。 – datalearning
@datalearning Python列表有一个拷贝构造函数。正如您发现的那样,错误消息(无法解析的符号)表示需要使用适当的符号可见性链接Boost.Python库。 Python对象是引用计数的,而Boost.Python对象本质上是智能指针。因此,按价值传递这些对象是便宜的。 –