我正在嘗試在Mono中爲Android應用程序呈現PDF文檔。我在C中使用MuPdf庫wiritten,並且在調用一個C函數時遇到問題。我能得到什麼:Mono for Android和MuPdf PInvoke
System.EntryPointNotFoundException: fz_pixmap_samples
C函數:
unsigned char *fz_pixmap_samples(fz_context *ctx, fz_pixmap *pix)
{
if (!pix)
return NULL;
return pix->samples;
}
我的C#包裝:
public class APV
{
[DllImport("libmupdf.so", EntryPoint = "fz_pixmap_samples", CallingConvention = CallingConvention.Cdecl)]
private static extern IntPtr fz_pixmap_samples(IntPtr ctx, IntPtr pix);
public static IntPtr GetSamples(IntPtr ctx, IntPtr pix)
{
return fz_pixmap_samples(ctx, pix);
}
}
我打電話GetSamples方式:
APV.GetSamples(context, pix);
功能fz_pixmap_samples( fz_context * ctx,fz_pixmap * pix)應該是r控制我指向位圖數據的指針。我假設映射無符號char *到IntPtr是不正確的?誰能幫忙?
你說得對,「nm -D」表示.so庫不包含fz_pixmap_samples。問題解決了。 – szysz3kster