У меня проблемы с созданием рабочей версии Python с ctypes с использованием Intel Compiler (11.1).Проблема в том, что libffi в модуле ctypes не работает должным образом при взаимодействии, например, с OpenGL.
Изначально libffi не компилировался с использованием компиляторов Intel, так как __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
приводит к пустому виду.
Есть ли лучший, рабочий способ сделать это?
Dan;