私はBase
C++でいくつかのクラスを持っています。boost::pythonを使用してPythonにエクスポートします。しかし、仮想デストラクタはどうですか?誤ったメモリ解放を回避するために、基本クラスには仮想デストラクタが必要です。私はそれを忘れて、Base
デストラクタなしで書きました。すべてが機能しますが、多くのメモリリークが発生します。
今私は追加しました:
class Base
{
public:
virtual ~Base();
// Other members...
};
そして、Pythonでモジュールをインポートした後、エラーが発生します。
ImportError:Base.so:未定義のシンボル:_ZTI6Base
私が間違っているのは何ですか?そして、私が理解しているように、エラーはpy-moduleのデストラクタエクスポータがないために発生します。