gpt4 book ai didi

C - 编译包含依赖项

转载 作者:太空狗 更新时间:2023-10-29 17:02:34 26 4
gpt4 key购买 nike

我有一些代码想在我没有 root 访问权限的机器上运行。该机器没有运行此代码所需的某些库。

有没有办法在我编译时包含所有依赖项?我意识到生成的文件可能非常大。

最佳答案

您正在寻找的是静态编译。执行静态编译将所有库包含到可执行文件本身中,因此您不必担心特定系统、发行版等的依赖链。

你可以这样做:

gcc -Wl,-Bstatic -llib1 -llib2 file.c

-Wl 将后面的标志传递给链接器,-Bstatic 告诉它尽可能链接静态,然后是 lib1lib2,是你打算链接的库。

或者,尝试:

gcc -static file.c

编译仍然需要匹配非特权系统的架构。并且您需要在编译系统上安装静态库(lib.a)

如果编译正确,运行时应该显示“不是动态可执行文件”:

ldd a.out

关于C - 编译包含依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16246923/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com