我有一些在 linux 下工作的代码,现在我正在尝试在 Max 10.6.8 下编译代码。我正在使用 EPD 32 位 python、g++ 版本 4.2.1、swig 版本 2.0.9。这是我正在使用的命令
swig -c++ -python pythoncpp.i
g++ -O2 -fPIC -c pythoncpp_wrap.cxx -I/PATH/Library/EPD/2.7-32/include/python2.7 -I/PATH/local/gsl/include
g++ -O2 -fPIC -c pythoncpp_wrap.cxx -I/PATH/Library/EPD/2.7-32/include/python2.7 -I/PATH/local/gsl/include
g++ -L/Users/densmore3/local/gsl/lib -lpython -dynamclib pythoncpp.o pythoncpp_wrap.o -lgsl -lgslcblas -lm -o _pythoncpp.dylib
前三行运行时出现错误或警告。但是,链接行会引发以下错误
Undefined symbols:
"_PyCapsule_Import", referenced from:
_SWIG_Python_GetModule in pythoncpp_wrap.o
"_PyCapsule_New", referenced from:
_SWIG_Python_SetModule in pythoncpp_wrap.o
"_main", referenced from:
start in crt1.10.6.o
"_PyCapsule_GetPointer", referenced from:
_SWIG_Python_DestroyModule in pythoncpp_wrap.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
如何修复此错误?谢谢