我正在尝试使用一个名为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
我还尝试使用 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)没有任何问题! 知道我做错了什么吗?
提前致谢