gpt4 book ai didi

c++ - 使用 GCC 将 C++ 应用程序静态编译为二进制文件

转载 作者:可可西里 更新时间:2023-11-01 11:13:28 28 4
gpt4 key购买 nike

如何在面向 unix 的 Ubuntu 机器上使用 GCC 静态编译应用程序?我将如何定位 32 位/64 位机器和具有不同版本 GLIBC 或任何 unix C++ 应用程序通常依赖的机器?然后我想以二进制形式分发这个应用程序并在 unix 机器上运行它而不需要从源代码编译。

同样,我可以compile this app on Windows such that it will run on unix

最佳答案

要编译它以便它可以在 Linux 上运行,只需像这样编译它:

g++ -o myapp myapp-a.cop myappb.cop -L mylib1

这应该适用于大多数 Linux 版本,以及某些版本的 FreeBSD。

这不会静态链接到 libstdc++,但这可能是更好的方法。根据经验,您应该动态链接到 OS c 库,以允许您的应用程序工作,即使系统调用 abi 发生变化。

您可以使用“-m32”作为标志之一强制从 64 位机器进行 32 位编译。它将编译模式设置为 32 位。

至于在 Windows 上编译:是的。你能行的。它被称为交叉编译。您首先需要编译一个针对 Linux 的工具链。

关于c++ - 使用 GCC 将 C++ 应用程序静态编译为二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13117962/

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