импорт модуля Python, который находится в C ++, скомпилирован с gcc 4.4.3

Я пытаюсь разработать модуль C ++, который вызывается из Python.

Я написал тестовый пример, но когда я пытаюсь настроить питон, импорт завершается неудачно с

Traceback (most recent call last):
File "testHull.py", line 1, in <module>
import CallGCAL

ImportError: /usr/lib/freecad/Mod/OpenSCAD/GCAL/CallGCAL.so:
undefined symbol: _ZNSt8ios_base4InitD1Ev

Компилятор C, используемый для компиляции модуля C ++, был gcc 4.4.3.

Из раунда поиска в Google мне кажется, что существует несовместимость между версией Gcc, которую я использую, и версией, используемой для компиляции python, которая составляет 2.6, но я не знаю, как действовать дальше.

Я знаю, что Python 2.6 старый, но я пытаюсь запустить что-то во FreeCAD 0.13, которая поддерживает только Python 2.6

0

Решение

Использовать g++ команда для компиляции кода C ++, а не gcc,

g++ все еще GCC, но он находится в режиме C ++, поэтому он будет ссылаться на стандартную библиотеку C ++.

Неопределенный символ:

$ c++filt -n _ZNSt8ios_base4InitD1Ev
std::ios_base::Init::~Init()

Другими словами, стандартная библиотека не была связана.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]