我正在尝试将CGAL合并到现有的模拟项目中,但是我遇到了一些链接器问题.python模拟keiro.py在swig包装器中使用一个名为physics.cpp的文件来加速常见操作......我设法让我的physics.cpp文件进行编译,但运行Python模拟错误时出现以下消息:
回溯(最近一次调用最后一次):文件"keiro.py",第2行,来自世界导入世界,查看文件"/Users/marcstrauss/Desktop/keiro/world.py",第9行,来自fast.physics导入Vec2d,Particle,World as PhysicsWorld File"/Users/marcstrauss/Desktop/keiro/fast/physics.py",第7行,在import _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.这是我的makefile:
all:physics.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 /
physics.py physics_wrap.cxx:physics.i physics.h swig -python -c ++ physics.i
graphutils.py graphutils_wrap.cxx:graphutils.i graphutils.h swig -python -c ++ graphutils.i -I/opt/local/include/clean:rm -f physics.py rm -f graphutils.py rm -f*.cxx rm -f*〜*.pyc*.pyo rm -f*.so rm -rf build
有没有人对我有任何想法如何解决这个问题?谢谢!