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

0

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

Я написал тестовый пример, но когда я пытаюсь настроить 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.

От googling round у меня создается впечатление, что между версией Gcc я использую imcompatibilty, и тот, который использовался для компиляции python, который равен 2.6, но не знает, как действовать.

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

Теги:
gcc4

1 ответ

2
Лучший ответ

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

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

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

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

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

  • 0
    Спасибо что исправили

Ещё вопросы

Сообщество Overcoder
Наверх
Меню