2016-04-10 11 views
0

QtバインディングをPythonにエクスポートするための2つのshibokenライブラリがあります。
Lib1のサブクラスであるLib2のクラスは、QWidget/QObjectメソッドを含むバインディングからメソッドを継承しません。shiboken typesystem継承クラスがありません

私は型システムをロードした:

<load-typesystem name="source/plugin/typesystem_lib1.pyside.xml" generate="no" /> 

そして、得られた結合が使用可能であるが、それは継承されたメソッドが含まれていません。
違いがある場合、コードは名前空間になります。

誰もこのようなことで運があったのですか?

答えて

0

編集:あなたは、そのヘッダーを含める前に
shibokenが実際にshibokenヘッダーファイル(GLOBAL.H)でインポート順序に基づいてこれらを追加するように見えます
ですから、そのヘッダのすべての依存関係を確認する必要がありますが含まれていますすべてのインクルードがshiboken-headerになければなりません。尊重されないので、他のファイルを含むファイルをインクルードすることはできません。
また、shibokenはフルパスを使用せず、ヘッダー名のみを使用するので、ヘッダーへのシンボリックリンクを作成し、独自のpath_to_data.hという名前のビルド中に自動シンボリックリンクを作成しました。
/編集

これは、私の2つのクラスファイルが同じ名前であり、情報を含めるときにshibokenが混乱するためです。

Shibokenはshiboken-ヘッダからヘッダをロードしますが、それは我々が得ることを意味フルパス、維持するのではなく、それらのファイル名だけを取り除き:data.hがどこかにある場合

#include "/path/to/data.h" 
#include "data.h" 

をとインクルードパスには同じ名前のクラスがあります。

私はこれをバグだと考えていますが、これは他の誰もがこの問題を克服するのに役立ちます。

関連する問題