1
我正在使用cmake創建一個帶swig的python包裝。問題是,lapack和python中有相互矛盾的符號。我有一個簡單的腳本來在編譯之前取消定義衝突符號,我可以編寫一個可以工作的makefile。我想知道,使用cmake時採取什麼最好的方法。cmake,swig和python:如何覆蓋衝突符號
這個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
感謝您的幫助!
的Vesa