2013-05-23 1 views
1

Я написал файл заголовок класса, как это, все шаги следует этой странице cppyyОбнаружена ошибка при подключении C++ и PyPy с 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- с

$ 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 

Любой человек столкнулся с этой проблемой, помогите мне!

+0

Имеется ли файл? Был ли вызов 'g ++' успешным? – flyx

+0

g ++ успешно запущен, а libMyClassDict.so тоже существует. – user2413399

ответ

1

(решается после обсуждения в списке рассылки PyPy)

Проблема в том, что "libMyClassDict.so" ищется в стандартных трактов системы (не включая "."). Вы должны сказать "./libMyClassDict.so".