我编写了一个C ++程序来调用用python编码的函数,一切顺利,程序已成功编译。但是,当我使用这个程序时,它会发布如下错误:
gzserver: symbol lookup error: /home/shin/gazebo_plugin_tutorial/build/libhello_world.so: undefined symbol: Py_Initialize
我曾经猜测是因为我没有链接相关的库而我尝试修改CMake文件,但是没有效果。我已经搜索了很长时间,但类似的情况总是发生在编译阶段,这些解决方案在我的情况下似乎不起作用,我真的不知道如何处理这种情况。
这是我简单的C ++代码:
public: void OnNewFrame(const unsigned char *_image,
unsigned int _width, unsigned int _height, unsigned int _depth,
const std::string &_format)
{
const unsigned char * str = this->parentSensor->GetCamera()->ImageData();
const char* str1 = static_cast<const char*>( static_cast<void*>( const_cast<unsigned char*>(str)));
Py_Initialize();
PyObject *pyMod = PyImport_ImportModule("/home/shin/gazebo_plugin_tutorial/int");
PyObject *pyFunc = PyObject_GetAttrString(pyMod,"reimg");
PyObject *pyParams = PyTuple_New(1);
PyTuple_SetItem(pyParams,0,PyString_FromString(str1));
PyObject_CallObject(pyFunc,pyParams);
}
有人可以帮我一把吗?