Correction d'un bug lié à l'allocation de mémoire dans l'interpréteur python utilisé par l'interface graphique. J'utilisais PyMem_MALLOC au lieu de PyMem_Malloc. Le premier est un malloc (un peu amélioré) et le second utilise une fonction python qui doit faire un malloc également. La différence vient du fait que le premier appel utilise le compilateur utilisé pour compiler Metafor alors que le second utilise le malloc du compilateur utilisé par python.
Puisque dans le cas où on utilise MinGW, on utilise également les binaires de python officiels (compilés avec VS2008), on observe donc un problème lorsque VS2008 essaye de libérer la mémoire provenant allouée par MinGW.
Luc observait un même problème avec son MetaforGUI (mémoire allouée par VS2012 patché alors que son python est compilé avec un VS2012 non patché - les libs runtime sont différentes).
Conséquence: il est inutile de recompiler python avec gcc sous Windows. Tout est prévu pour que ça marche (tant qu'on alloue correctement la mémoire)
J'ai nettoyé les CMakeList.txt
:
METAFOR_USE_MKL=OFF
_d
lorsqu'on compile avec le Visual Studio (idéalement il faudrait que la condition soit: “compilation en debug et on possède une version debug de python sous Windows” - j ai pas réussi à formuler ça proprement).MACRO_
- ça me semble plus clair.Metafor.exe
et la procédure de compilation.
— Romain BOMAN 2015/08/21 08:07