Cython将python包装器写入第三方共享库

时间:2017-05-09 12:41:21

标签: python c++ shared-libraries cython

我需要帮助编写一个包装器来调用一些函数并从第三方共享库中获取JSON响应(一个unicode字符串)。库的头文件如下所示:

#include <string>
#include <ExportLib.h>
// some code ignored here
typedef std::string UString;
using namespace std;
namespace ns1{
class DLL_PUBLIC S_API {
public:
static UString function1();
static UString function2();
// some code ignored here
};
}

问题是我在C / C ++方面不太好,所以我不知道如何处理Cython。如果有人能指出我正确的方向,我将非常感激。我写了一个像这样的.pyx文件:

from libcpp.string cimport string
cdef extern from "libName.h" namespace "ns1":
     cdef cppclass S_API:
          string function1;
          string function2;

这编译得很好,我得到一个.so文件,我可以在Pyhton中导入。但我仍然无法访问function1()或模块内的任何其他功能。

0 个答案:

没有答案