英特尔编译器和Python / ctypes / libffi

时间:2010-08-17 08:35:11

标签: python compiler-construction ctypes libffi

我无法使用英特尔编译器(11.1)使用ctypes构建Python的工作版本。问题是,当与ctypes模块连接时,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会导致空白视图。

有没有更好的,有效的方法呢?

丹;

1 个答案:

答案 0 :(得分:3)

我是libffi的作者。我建议向libffi-discuss@sourceware.org发送一份说明,其中包含所有这些细节。我还建议在构建了libfi的intel编译器上运行libffi testsuite。请务必将结果发送至libffi-discuss@sourceware.org,我们可以帮助您解决问题。