我在使用英特尔编译器 (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
会导致空白视图。
有没有更好的工作方式来做到这一点?
担;