1

Intelコンパイラ(11.1)を使用してctypesを使用してPythonの動作バージョンを構築するのに問題があります。問題は、たとえばOpenGLとのインターフェース時に、ctypesモジュールの下のlibffiが正しく機能しないことです。

もともと、libffiは定義されていないインテル®コンパイラーを使用してコンパイルしませんでした__int128_t。私はいくつかの場所にリストされている回避策に従いました。つまり、新しいタイプを定義しました。

typedef struct { int64_t m[2]; } __int128_t;

これは、Intelからの応答に従います:http ://software.intel.com/en-us/forums/showthread.php?t = 56652

次に、パッチは次のようなものを提案します。

typedef struct { int64_t m[2]; } __int128_t;
//and then change where the uint64_t is assigned to this to be:
sse[x].m[0] = *(uint64_t*) v;
sse[x].m[1] = 0;
//and where the uint32_t is assigned to:
sse[x].m[0] = *(uint32_t*) v;
sse[x].m[1] = 0;

パッチを適用すると、物事はコンパイルctypesされ、インポートできるようになりますが、OpenGLとのインターフェースでは、物事は機能しません。PyQtのサンプルプログラムを実行hellogl.pyすると、空白のビューが表示されます。

これを行うためのより良い、実用的な方法はありますか?

ダン;

4

1 に答える 1

3

私はlibffiの作者です。この詳細をすべて含むメモをlibffi-discuss@sourceware.orgに送信することをお勧めします。また、インテル®コンパイラーでビルドされたlibffiでlibffiテストスイートを実行することをお勧めします。結果をlibffi-discuss@sourceware.orgに送信してください。そうすれば、問題の特定に役立てることができます。

于 2010-12-18T04:53:58.670 に答える