Проблема с совместимостью версий Python и Swig - PullRequest
0 голосов
/ 13 октября 2019

Ранее я работал с python 2.7.9, чтобы обернуть некоторый код на C ++ с помощью swig (версия 2.0.12), и все работало хорошо. Затем я переключился на Python 3.7.3 и у меня были проблемы с запуском Swig, как и раньше.

Это мое сообщение об ошибке в моем терминале:

ImportError: /home/_add_array.so: undefined symbol: PyClass_Type

Я могу представить два возможных решения:

  1. Команды командной строки Ячтобы получить swig для генерации файлов, нужно изменить.

  2. Мне нужно обновить ПО до новой версии swig.

Если это случай 1, мои предыдущие команды неверны:

swig -c++ -python add_array.i
g++ -fpic -c add_array_wrap.cxx add_array.h add_array.cpp -I/usr/include/python2.7
g++ -shared add_array_wrap.o add_array.o -o _add_array.so

Если это случай 2, какая версия swig совместима с python 3.70,3? Я использую Ubuntu, на случай, если это актуально.

Спасибо!

1 Ответ

1 голос
/ 13 октября 2019

Эта часть определенно неверна:

-I/usr/include/python2.7

Вам необходимо обновить ее, чтобы она указала на вашу новую установку Python 3.7.

...