【发布时间】:2014-06-20 07:48:49
【问题描述】:
我想与 sfml.net 合作。通过将 dll 复制到输出文件夹(.net 和 csfml),我成功并在 Windows 中运行了程序。我在第二个盒子上运行 Ubuntu 14.04,在运行可执行文件(单声道)时出现以下错误:
System.DllNotFoundException: /usr/local/lib/libcsfml-window.so.2.1
但是:
ls /usr/local/lib/libcsfml-*
/usr/local/lib/libcsfml-audio.so
/usr/local/lib/libcsfml-audio.so.2
/usr/local/lib/libcsfml-audio.so.2.1
/usr/local/lib/libcsfml-graphics.so
/usr/local/lib/libcsfml-graphics.so.2
/usr/local/lib/libcsfml-graphics.so.2.1
/usr/local/lib/libcsfml-network.so
/usr/local/lib/libcsfml-network.so.2
/usr/local/lib/libcsfml-network.so.2.1
/usr/local/lib/libcsfml-system.so
/usr/local/lib/libcsfml-system.so.2
/usr/local/lib/libcsfml-system.so.2.1
/usr/local/lib/libcsfml-window.so
/usr/local/lib/libcsfml-window.so.2
/usr/local/lib/libcsfml-window.so.2.1
我也尝试使用 ldconfig 添加那些
sudo ldconfig -v | grep libcsfml
libcsfml-system.so.2 -> libcsfml-system.so.2.1
libcsfml-audio.so.2 -> libcsfml-audio.so.2.1
libcsfml-network.so.2 -> libcsfml-network.so.2.1
libcsfml-graphics.so.2 -> libcsfml-graphics.so.2.1
libcsfml-window.so.2 -> libcsfml-window.so.2.1
无果,尝试用dllmap将配置文件添加到项目中,不成功,将dllmaps添加到sfmlnet-window.dll.config,文件内容如下:
<configuration>
<dllmap dll="csfml-window-2" target="/usr/local/lib/libcsfml-window.so.2.1"/>
</configuration>
我迷路了,还有什么能让它跑起来?
ls -a: 所有库用户:用户
编辑:ldd 输出:
/usr/local/lib/libcsfml2.1$ sudo ldd libcsfml-system.so.2.1
linux-vdso.so.1 => (0x00007fff4ebfe000)
libsfml-system.so.2 => not found
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fb899904000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fb8995fd000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fb8993e7000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fb899021000)
/lib64/ld-linux-x86-64.so.2 (0x00007fb899e32000)
【问题讨论】:
-
您的问题可能是由于访问权限不足(请添加
ls -la /usr/local/lib/命令的输出)或缺少本机库依赖项(请添加ldd /usr/local/lib/libcsfml-window.so.2.1命令的输出)。 -
我很确定我有用户/用户 rwx 权限,所以这应该不是问题,但我应该检查你提到的依赖关系。如果能成功,我今晚会写。
-
等等,我好像找到了丢失的链接... libcsfml != libsfml
-
看来你需要安装libsfml-system2包。
-
@jariq 我想通了,要工作 sfml .net 需要 csfml,而这又取决于 sfml。只漏了一封信。谢谢!
标签: c# ubuntu mono native sfml