我写了一个这样的类头文件,所有步骤都按照这个页面cppyy
class MyClass {
public:
MyClass(int i = -99) : m_myint(i) {}
int GetMyInt() { return m_myint; }
void SetMyInt(int i) { m_myint = i; }
public:
int m_myint;
};
然后编译
$ genreflex MyClass.h
$ g++ -fPIC -rdynamic -O2 -shared -I$REFLEXHOME/include MyClass_rflx.cpp -o libMyClassDict.so -L$REFLEXHOME/lib -lReflex
加载到pypy-c
$ pypy-c
>>>> import cppyy
>>>> cppyy.load_reflection_info("libMyClassDict.so")
然后我得到了这个错误
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
RuntimeError: libMyClassDict.so: cannot open shared object file: No such file or directory
谁遇到过这个问题,请帮帮我!
最佳答案
(在pypy邮件列表中讨论后解决)
问题是 "libMyClassDict.so"
在系统的标准路径中查找(不包括 "."
)。你需要说 ./libMyClassDict.so"
.
关于c++ - 使用 cppyy 连接 C++ 和 pypy 时遇到错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16713234/