我已经在ubuntu上安装了ffmpeg。我将把编译好的ffmpeg和必需的依赖项复制到一个目录中,并将该目录复制到另一台计算机上。这样我们就可以在另一台机器上运行而不需要安装。如何确定复制所需的依赖项?在这个页面上看到了说明:https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu,但它没有解释ffmpeg所需的依赖项。
当我使用ldd时,我得到了如下内容:
linux-vdso.so.1 (0x00007fffe20fd000)
libavdevice.so.58 => /lib/x86_64-linux-gnu/libavdevice.so.58 (0x00007fc116e90000)
libavfilter.so.7 => /lib/x86_64-linux-gnu/libavfilter.so.7 (0x00007fc116b10000)
libavformat.so.58 => /lib/x86_64-linux-gnu/libavformat.so.58 (0x00007fc116890000)
libavcodec.so.58 => /lib/x86_64-linux-gnu/libavcodec.so.58 (0x00007fc1152d0000)
libavresample.so.4 => /lib/x86_64-linux-gnu/libavresample.so.4 (0x00007fc1152a0000)
libpostproc.so.55 => /lib/x86_64-linux-gnu/libpostproc.so.55 (0x00007fc115270000)
这些是必需的依赖项吗?它没有列出bin下的文件,也没有包含或共享文件夹。
发布于 2021-03-14 18:28:53
这可能不是构建可移植二进制文件的最佳方法。
您看到的是库依赖项,但请注意:
此外,仅仅将所有这些库复制到另一台计算机并不能保证它们将在那里运行,除非它使用相同的发行版版本。例如,它们可能是为不同的滑翔目标而建造的。
一些更好的办法是:
。
中。
(1) -任何地方都意味着与您的构建机器相同的arch和相同或更高的内核版本。如果您想更进一步,创建一个与(很多)旧内核兼容的静态二进制文件,您还需要构建glibc设置“-启用-内核=版本”配置开关。
发布于 2021-03-15 07:15:48
似乎您只是想有某种离线文件在机器之间来回移动。你考虑过使用snap吗?
您可以使用以下命令在一台计算机中下载快照:
snap download ffmpeg
这将生成2个文件,要安装在另一台机器上,只需复制它们,然后运行:
snap ack ffmpeg_1286.assert
snap install ffmpeg_1286.snap
https://stackoverflow.com/questions/66627511
复制相似问题