我必须从python调用c函数。这些是我遵循的步骤:
从python中的abc.c调用函数,我编写了以下代码:
from ctypes import cdll
hello_lib = cdll.LoadLibrary(path to abc.so.1.0)
hello = hello_lib.xyz
When i am calling this function, it is giving me the error :
undefined symbol: close_file
c函数是这样的:
int xyz(unsigned char * ptrJPG,int length,char * mainPath,int Type,int Play,char * results,int resultslength, char * error,char * Name){ ............................ ............................ ............................}
有很多功能是文件abc.c
在c文件的顶部,我导入了这些文件:
#include <stdio.h>
#include <errno.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include "../headers/Functions.h"
#include "../headers/util.h"
#include "../headers/ocr.h"
#include "../headers/postprocessing.h"
#include "../headers/memmgr.h"
#include "../headers/logging.h"
#include "../headers/BarCode.h"
我知道因为这些文件存在依赖性问题,我认为问题在于将.o文件转换为.so文件。任何人都可以告诉我如何解决这个问题,以及需要执行什么命令来创建.so文件。