私はcmakeを使ってswigでpythonラッパーを作成しています。問題は、lapack と python に競合するシンボルがあることです。コンパイル前に競合するシンボルを定義解除する簡単なスクリプトがあり、機能するメイクファイルを作成できます。私は、cmakeを使用するときに取るべき最善のアプローチは何だろうと思っています。
このメイクファイルは動作します:
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
助けてくれてありがとう!
ベサ