Ubuntu上的MonoDevelop和libpjsipDll.so库。 System.DllNotFoundException

时间:2014-12-31 21:28:14

标签: c# shared-libraries monodevelop ubuntu-14.04

我正在尝试使用一个名为Linux的DLL: libpjsipDll_v44.so 我从这里得到了http://code.google.com/p/sipeksdk/downloads/list

http://www.pjsip.org/的Linux端口是VOIP库

该网站声称可以在Linux中使用该库 https://sites.google.com/site/sipekvoip/Home/documentation/pjsipwrapper/pjsipwrapper-for-linux

MonoDevelop 4.0.12 中的代码 C#代码如下:

internal const string PJSIP_DLL = "libpjsipDll.so"; 

[DllImportAttribute(PJSIP_DLL, EntryPoint = "onRegStateCallback")]
private static extern int onRegStateCallback(OnRegStateChanged cb);

但是不行!抛出 System.DllNotFoundException

我正在使用 Ubuntu x86 v14.04 lts 这是我安装库的步骤:

$ sudo cp libpjsipDll_v44.so /usr/lib/libpjsipDll.so 
$ sudo ldconfig

我甚至尝试将库复制到其他几个路径,例如

/usr/local/lib 
/lib`

并创建链接

   $ sudo ln -s /usr/lib/libpjsipDll.so /usr/lib/libpjsipDll_v44.so
   $ sudo ln -s /usr/lib/libpjsipDll.so /usr/lib/pjsipDll.so

然后尝试寻找我安装的.so运行此命令:

$ sudo ldconfig -p |grep libpjsipDll

enter image description here 我还尝试使用 App.config 使用尽可能多的组合映射dll,我可以想到没有成功

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <dllmap dll="libpjsipDll.so" target="libpjsipDll.so"/>
  <!--
  <dllmap dll="libpjsipDll.so" target="/libpjsipDll.so"/>
  <dllmap dll="libpjsipDll.so" target="/usr/lib/libpjsipDll.so"/>
  <dllmap dll="libpjsipDll.so" target="/usr/local/lib/libpjsipDll.so"/>
  <dllmap dll="libpjsipDll.so" target="i:libpjsipDll.so"/>
  <dllmap dll="libpjsipDll.so" target="libpjsipDll.so" wordsize="32" cpu="x86"/>
  -->
</configuration>

我尝试像这样执行.exe:

$ MONO_LOG_LEVEL=debug mono MyApp.exe

我认为应用程序需要另一个dll libssl0

然后我安装了所需的dll,一切运行正常!但我仍然无法打电话。

$ sudo apt-get install libssl0.9.8:i386

我在Windows中使用与.NET相同的dll(扩展名.dll)没有任何问题! 知道我做错了什么吗?

The error

提前致谢

0 个答案:

没有答案