Я пытаюсь включить CGAL в существующий проект симуляции, но у меня возникли проблемы с компоновщиком. Для ускорения общих операций в python-симуляторе keiro.py для ускорения выполнения обычных операций используется файл с названием phys.cpp ... Мне удалось собрать свой файл Physics.cpp для компиляции, но я выполнил ошибки моделирования Python со следующим сообщением:
Traceback (последний вызов был последним):
Файл "keiro.py", строка 2, в
из мира импорта World, View
Файл "/Users/marcstrauss/Desktop/keiro/world.py", строка 9, в
из fast.physics импортировать Vec2d, Particle, World как PhysicsWorld
Файл "/Users/marcstrauss/Desktop/keiro/fast/physics.py", строка 7, в
импортировать _physics
Ошибка импорта: dlopen (/Users/marcstrauss/Desktop/keiro/fast/physics.so, 2): символ не> найден: _ _gmpq_clear
Ссылка на: /Users/marcstrauss/Desktop/keiro/fast/_physics.so
Ожидается в: плоское пространство имен
в /Users/marcstrauss/Desktop/keiro/fast/_physics.so
Я полагаю, что ошибка, связанная с тем, что символ ___gmpq_clear не распознается в объектном файле, означает, что я неправильно связываюсь с CGAL. Вот мой make-файл:
все: phys.py _physics.so graphutils.py _graphutils.so
_physics.so: setup_physics.py Physics_wrap.cxx Physics.cpp
python setup_physics.py build_ext --inplace -I / opt / local / include /
_graphutils.so: setup_graphutils.py graphutils_wrap.cxx graphutils.cpp
python setup_graphutils.py build_ext --inplace -I / opt / local / include /
физика.py физика_wrap.cxx: физика.и физ.х
swig -python -c ++ физика.i
graphutils.py graphutils_wrap.cxx: graphutils.i graphutils.h
swig -python -c ++ graphutils.i -I / opt / local / include /
чистить:
рм -ф физика.py
rm -f graphutils.py
rm -f * .cxx
rm -f * ~ * .pyc * .pyo
rm -f * .so
rm -rf build
У кого-нибудь есть идеи, как это исправить? Спасибо!