【发布时间】:2012-02-15 01:18:53
【问题描述】:
我正在 ubuntu 上编写一个 opengl 应用程序,它正在编译和运行良好。但是当我将我的程序(是的,在发布模式下编译的程序)发送给我认为正在运行普通 debian 的朋友时,该程序对他不起作用。他告诉我他错过了一些图书馆。所以我想知道:如果我将我正在使用的库(.so 文件)与程序一起发送给他,他能运行它吗? 我跑了 lddtree,这是输出:
game => ./game (interpreter => /lib/ld-linux.so.2)
libGL.so.1 => /usr/lib/libGL.so.1
libnvidia-tls.so.280.13 => /usr/lib/libnvidia-tls.so.280.13
libnvidia-glcore.so.280.13 => /usr/lib/libnvidia-glcore.so.280.13
libXext.so.6 => not found
librt.so.1 => not found
libdl.so.2 => not found
libX11.so.6 => not found
libXxf86vm.so.1 => not found
libstdc++.so.6 => not found
libm.so.6 => not found
libgcc_s.so.1 => not found
libc.so.6 => not found
libpthread.so.0 => not found
(这是我电脑的输出,不是他的) 谢谢。
【问题讨论】:
-
没有
libX11,您的朋友如何运行图形anything? -
他有 X11 库。输出是我的 openGL 应用程序使用的库。它说“未找到”的方式很奇怪。
-
可能值得检查二进制文件是否编译为 32 位,而您朋友的机器是 64 位(反之亦然)...如果二进制文件是 32 位,您可能只需要安装必要的 32 位兼容性包。
标签: c++ linux opengl ubuntu debian