如何将 Python 绑定到包含 Jsoncpp 的 C++ 代码?
How to bind Python to C++ code that includes Jsoncpp?
正在编写代码,使 Python 能够通过 Python 的 ctypes
模块调用编译到共享库文件(.so
文件)中的 C++ 代码,使用标准 ctypes.CDLL
方法。 C++代码进行数值计算,Python代码主要作为控制器,进行数据分析。一切正常。但是,一旦我在 C++ 代码中包含 jsoncpp
库,Python 就开始抱怨未定义的符号错误,例如 undefined symbol: _ZN4Json5ValueaSES0_
等。我在 C++ 中使用 jsoncpp
库主要是为了将数据导出到 JSON 文件。在互联网上搜索了一段时间后,似乎还没有讨论那么多。知道如何处理这个吗?
好吧,看起来解决方案是在编译共享 .so
文件时也包括 -ljsoncpp
标志:
$(CC) -shared -o testcode.so testcode.o -ljsoncpp
正在编写代码,使 Python 能够通过 Python 的 ctypes
模块调用编译到共享库文件(.so
文件)中的 C++ 代码,使用标准 ctypes.CDLL
方法。 C++代码进行数值计算,Python代码主要作为控制器,进行数据分析。一切正常。但是,一旦我在 C++ 代码中包含 jsoncpp
库,Python 就开始抱怨未定义的符号错误,例如 undefined symbol: _ZN4Json5ValueaSES0_
等。我在 C++ 中使用 jsoncpp
库主要是为了将数据导出到 JSON 文件。在互联网上搜索了一段时间后,似乎还没有讨论那么多。知道如何处理这个吗?
好吧,看起来解决方案是在编译共享 .so
文件时也包括 -ljsoncpp
标志:
$(CC) -shared -o testcode.so testcode.o -ljsoncpp