从Mono上加载freebsd上的libc.so.7库

时间:2016-09-26 09:50:09

标签: mono freebsd

我尝试在FreeBSD上从Mono加载本机库。

我已从库dlopen导入方法libc.so。该库具有绝对路径/lib/libc.so.7

public static class NativeMethods
{
   [DllImport("libc.so.7", SetLastError = true)]
   public static extern IntPtr dlopen(string filename, int flags);

   const int RTLD_NOW = 2;
}

尝试加载库

static void Main()
{
    IntPtr ptr = NativeMethods.dlopen("/lib/libc.so.7", NativeMethods.RTLD_NOW);
    // here ptr always equals IntPtr.Zero!!!
}

为什么方法dlopen无法在freebsd上加载标准库?我无法加载标准库,因此我无法加载构建我的其他库。

以类似的方式我在ubuntu15上加载库(在ubuntu15 libdl.so而不是libc.so.7)并且我总是成功。

有什么想法吗?也许是单声道的错误?

0 个答案:

没有答案