Python.h的错误:符号查找错误,未定义符号:Py_Initialize

时间:2017-05-25 15:31:24

标签: python c++

我编写了一个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);
    }

有人可以帮我一把吗?

0 个答案:

没有答案