Убедитесь, что файлы разработчика Python поставляются с вашей ОС.
Не следует жестко закодировать библиотеку и включить пути. Вместо этого используйте pkg-config, который выведет правильные параметры для вашей конкретной системы:
$ pkg-config --cflags --libs python2
-I/usr/include/python2.7 -lpython2.7
Вы можете добавить ее в свою строку gcc :
gcc $(pkg-config --cflags --libs python2) -Wall utilsmodule.c -o Utilc
У вас проблема с использованием malloc
внутри функции char ** arrayOfWords(char *str,int max)
1> Для двойного указателя **s
внутри функции char ** arrayOfWords(char *str,int max)
.
s=malloc(max*(sizeof(char *)+1));
это должно быть
s=malloc(max*sizeof(char *));
, потому что s - это указатель на массив указателей на символы.
2> Для каждого предмета внутри **s
.
s[0]=malloc((sizeof(char *)*(size+1)));
s[count]=malloc((sizeof(char *)*(size+1)));
они должны быть
s[0]=malloc((sizeof(char)*(size+1));
s[count]=malloc((sizeof(char)*(size+1)));
, потому что s [i] теперь является указателем на массив символов.