我正在使用PDFium(使用忍者构建的Chromium PDF库)。
最近,我不得不添加一些函数来帮助文本操作,因此我创建了pdfiumext(C ++),这实际上是针对更大的pdfium库(C ++)构建的一些其他函数。
现在,我想将新功能与仍在python脚本中pdfium中定义的功能一起使用,我编写了一个C层,其中包含我的特定于任务的功能,然后使用ctypes进行调用。该层在添加pdfiumext之前起作用,但是现在当我运行python代码时,由于PDFiumext中的“缺失”功能,从pdfiumext引发了undefined symbol
异常。
这是我的GCC调用:
gcc -shared pdfium_generator.c -L../Pdfium/build/out/ -I../Pdfium/build/ -I../Pdfium/pdfiumext/ -lpdfiumext -lpdfium -o pdfium_generator.so -fPIC
使用nm -C
时,我的函数确实存在于PDFium库中,但是名称似乎没有被篡改,而在Python中引发的异常中,该名称被篡改了。
所以回顾一下:
让
我的依赖项是:
当我在A上运行ctypes时,C中缺少由B引发的符号错误。