正在研究使Python使用标准.so
方法通过Python的ctypes
模块调用编译为共享库文件(ctypes.CDLL
文件)的C ++代码的代码。 C ++代码执行数值计算,而Python代码主要充当控制器并执行数据分析。一切正常。但是,一旦我在C ++代码中包含jsoncpp
库,Python就开始抱怨未定义的符号错误,例如undefined symbol: _ZN4Json5ValueaSES0_
等。我在C ++中使用jsoncpp
库主要是将数据导出到JSON文件。搜索了一段时间的互联网,似乎没有对此进行过多讨论。知道如何处理吗?
好吧,解决方案似乎是在向共享的-ljsoncpp
文件编译时还包括.so
标志:
$(CC) -shared -o testcode.so testcode.o -ljsoncpp