我正在使用 cmake 创建一个带有 swig 的 python 包装器。问题是,在 lapack 和 python 中有冲突的符号。我有一个简单的脚本来在编译之前取消定义冲突的符号,我可以编写一个可以工作的 makefile。我想知道,使用 cmake 时最好的方法是什么。
这个makefile有效:
tools_wrap.cc toolspy: tools.i ../libtools.a
swig -I../ -c++ -python $(PYFLAGS) -shadow -o tools_wrap_tmp.cc tools.i
# A terrible hack to override conflicting function names in python and lapack
python ./fix_undefs.py < tools_wrap_tmp.cc > tools_wrap.cc
_tools.so: tools_wrap.cc ../libtools.a
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(PYTHONINC) $(INCLUDES) -I../ tools_wrap.cc $(LIBS) -o _tools.so
谢谢你的帮助!
维萨