如何在不在远程计算机上安装库的情况下构建独立的 C ELF 二进制文件?

How to build a standalone C ELF binary without installing libraries on a remote machine?

我正在尝试在 linux 上构建一个 C ELF 二进制文件并尝试在另一台机器上直接执行它。 (通过 scp linux 命令发送)

问题是,即使我使用所有需要的库构建 ELF 二进制文件,当我尝试在远程机器上执行它时,我也遇到了这个错误:

/tmp/25636: error while loading shared libraries: libnftnl.so.11: cannot open shared object file: No such file or directory

由于我无法执行 sudo apt install -y libfuse-dev libmnl-dev libnftnl-dev 在远程机器上安装我的库,我想知道是否可以将所有依赖项打包到 ELF 二进制文件中,以便 ELF 二进制文件可以以独立方式执行。

bguess.

@जलजनक是对的。添加 -static 标志有效,但问题是您必须在正确的位置添加它!

对我来说,它就在 -o OUTPUT_FILE 之后 CFLAGSLDFLAGS 之前。

谢谢大家的帮助。