【问题标题】:DllNotFoundException libpjsipDll MonoDllNotFoundException libpjsipDll Mono
【发布时间】:2011-03-17 21:30:06
【问题描述】:

我在终端中使用 Mono 执行程序时遇到问题 (mono program.exe)。出现错误:“System.DllNotFoundException : libpjsipDll.so”

但是我的库存在并且我已经在文件所在的目录中设置了我的 2 个环境变量:LD_LIBRARY_PATH 和 MONO_PATH。

我不明白为什么会出现这个错误?

有人有想法吗?

我已经:

ELF 32 位 LSB 可执行文件,Intel 80386,版本 1 (SYSV),动态链接(使用共享库),适用于 GNU/Linux 2.6.8,剥离(CPU 架构)

ELF 32 位 LSB 可执行文件,Intel 80386,版本 1 (SYSV),动态链接,未剥离(第三方库)

我尝试 MONO_LOG_LEVEL="debug" MONO_LOG_MASK="dll"。

我得到一个:未定义的符号:Pa_GetErrorText

我尝试安装 PortAudio,但我并不总是工作 :-(

提前致谢。

纳格利克斯

【问题讨论】:

  • 你解决了吗?我在 Ubuntu 12 上遇到了同样的问题。我在 /usr/bin 和 /usr/local/lib 中复制了我的 libpjsipDll.so,然后我使用了 $ sudo lbconfig 但没有发生任何事情!单声道仍然没有找到 libpjsipDll.so

标签: dll mono environment-variables sip


【解决方案1】:

首先,确保字母大小写正确,因为您正在调用的库和磁盘上的程序集具有相同的大小写。 Linux 对此很挑剔。

我假设您正在使用 P/Invoke DLLImport?您在这里使用的实际代码是什么?你的库(libpjsipDll.so)当然不是托管代码。

【讨论】:

  • [DllImportAttribute("libpjsipDll.so", EntryPoint = "onRegStateCallback")] private static extern int onRegStateCallback(OnRegStateChanged cb);
【解决方案2】:

不是加载的问题,是另一个依赖 dll 的问题,只需运行此代码并确保 libpjsipDll.socallingApp.exe 所在的位置正在执行。

//我在ubuntu中试过这个 $ sudo apt-get install libssl0.9.8:i386

我发现像这样运行我的应用程序:

$ MONO_LOG_LEVEL=debug mono MyApp.exe

这是我的问题,您可以在哪里找到其他信息: MonoDevelop and libpjsipDll.so library on Ubuntu. System.DllNotFoundException

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-12
    • 1970-01-01
    • 1970-01-01
    • 2015-09-18
    • 2011-05-26
    • 1970-01-01
    • 2012-11-01
    相关资源
    最近更新 更多