1

我在使用英特尔编译器 (11.1) 构建具有 ctypes 的 Python 工作版本时遇到问题。问题是,ctypes 模块下的 libffi 在与 OpenGL 等接口时无法正常工作。

最初,libffi 没有使用未定义的英特尔编译器进行编译__int128_t,我遵循了已在几个地方列出的工作,即定义一个新类型:

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

这遵循英特尔给出的响应: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 回答