在Mac OS X上用SWIG编译C++
Compiling C++ with SWIG on Mac OS X
我正试图使用Swig for Mac OS X编译C++扩展。不过,我遇到了一些链接器错误。Python Swig的基本教程在Mac上似乎也失败了:
http://www.swig.org/Doc1.3/Python.html#Python_nn10
swig -c++ -python example.i
g++ -O2 -fPIC -c example.cxx
g++ -O2 -fPIC -c example_wrap.cxx -I/usr/include/python2.6
g++ -shared example.o example_wrap.o -o _example.so
前三行写得不错。最后一行由于链接器错误而失败。我在OS X上尝试了最后一行,但得到了相同的错误:
g++ -dynamiclib example.o example_wrap.o -o _example.so
最后一行的错误是:
Undefined symbols for architecture x86_64:
"_PyArg_ParseTuple", referenced from:
__wrap_fact in example_wrap.o
"_PyArg_UnpackTuple", referenced from:
_SwigPyObject_own in example_wrap.o
"_PyBool_FromLong", referenced from:
_SwigPyObject_richcompare in example_wrap.o
_SwigPyObject_own in example_wrap.o
...
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
谢谢。
为了完整性,感谢Petersh。
swig -c++ -python example.i
g++ -O2 -fPIC -c example.cxx
g++ -O2 -fPIC -c example_wrap.cxx -I/usr/include/python2.6
g++ -lpython -dynamiclib example.o example_wrap.o -o _example.so
相关文章:
- 二叉排序树无法编译
- 编译时未启用intel oneApi CUDA支持
- 在VS代码中交叉编译Windows与Linux上的MinGW的SDL程序
- 在SWIG和Visual Studio 2015中使用Java中编译的DLL
- Swig C++ to python:编译一堆.cpp和.h文件
- 在编译SWIG输出时找不到arrayObject.h
- swig c 预编译了DLL
- #ifdef SWIG:什么时候考虑这种条件编译
- 编译时出现 -fPIC 和 Swig 错误
- numpyarrayobject.h 在 Windows 中编译 SWIG python 包装器时未被 MinGW
- 在Windows中为python编译SWIG包装器
- 编译包装器时出现SWIG [C++ to Lisp(CFFI)]错误
- 使用SWIG编译时重载运算符C++错误
- 无法为c++python扩展编译swig生成的包装
- 用mingw编译SWIG java库
- 在用SWIG编译的c和lua模块之间共享数据指针
- 使用swig将c++编译成python
- 测试覆盖swig编译的c++ /Python代码
- 在Mac OS X上用SWIG编译C++
- 使用Swig为Python编译c++