Как связать Python с кодом C ++, который включает Jsoncpp? - PullRequest
0 голосов
/ 22 апреля 2020

Работа над кодом, который позволяет Python вызывать код C ++, скомпилированный в файл общей библиотеки (.so файл) через модуль Python ctypes, используя стандартный метод ctypes.CDLL. Код C ++ выполняет численные расчеты, а код Python в основном служит контроллером и выполняет анализ данных. Все работало нормально Однако, как только я включил библиотеку jsoncpp в код C ++, Python начал жаловаться на неопределенные ошибки символов, такие как undefined symbol: _ZN4Json5ValueaSES0_ et c. Я использовал библиотеку jsoncpp в C ++ в основном для экспорта данных в файл JSON. Поискав inte rnet некоторое время, кажется, это не обсуждалось так много. Есть идеи, как с этим справиться?

1 Ответ

1 голос
/ 22 апреля 2020

Что ж, похоже, решение состоит в том, чтобы включить флаг -ljsoncpp при компиляции в общий файл .so:

 $(CC) -shared -o testcode.so testcode.o -ljsoncpp
...