ctypes undefined symbol close_file

时间:2015-01-16 10:05:02

标签: python c ctypes

我必须从python调用c函数。这些是我遵循的步骤:

  1. gcc -Wall -fPIC -c abc.c -o abc.o - 我已经从c文件创建了一个目标文件
  2. gcc -shared -Wl,-soname,ocr.so.1 -o abc.so.1.0 abc.o - 使用此命令创建.so文件
  3. 从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
    
  4. c函数是这样的:

    int xyz(unsigned char * ptrJPG,int length,char * mainPath,int Type,int Play,char * results,int resultslength,                 char * error,char * Name){                 ............................                 ............................                 ............................}

  5. 有很多功能是文件abc.c

    1. 在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"
      
    2. 我知道因为这些文件存在依赖性问题,我认为问题在于将.o文件转换为.so文件。任何人都可以告诉我如何解决这个问题,以及需要执行什么命令来创建.so文件。

0 个答案:

没有答案