我无法使用英特尔编译器(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
会导致空白视图。
有没有更好的,有效的方法呢?
丹;
答案 0 :(得分:3)
我是libffi的作者。我建议向libffi-discuss@sourceware.org发送一份说明,其中包含所有这些细节。我还建议在构建了libfi的intel编译器上运行libffi testsuite。请务必将结果发送至libffi-discuss@sourceware.org,我们可以帮助您解决问题。