7

我知道如何使用 g++ 和所有这些来编译 c++ 程序。我的问题是,如果我有一些依赖于各种库的代码,我如何将它编译成一个简单的可执行文件,我可以发送给任何人。为此,我很乐意将其保留在 os x 上。

我想知道如何编译一个“真正的”程序,而不仅仅是一个我可以在本地运行的可执行文件。我试过用谷歌搜索,但没有找到太多。

我必须使用安装软件吗?我知道在 Windows 中,您可以制作一些使用常见 DLL 文件的简单 .exe 文件。

4

3 回答 3

8

您正在寻找“静态链接”。这会将所有需要的代码从库中导入到您的可执行文件中。请注意,可执行文件会变大。如果您使用标准库,它们应该存在于标准操作系统安装中。

您应该尝试 g++ 的“-static”标志。运行“ldd your_executable_name”应该显示您的可执行文件使用的所有库(动态链接)。

于 2009-08-06T06:07:30.433 回答
3

由于您在谈论 Mac OS X,您可能想要制作一个捆绑包。Qt Software 有一个非常有用的部署指南,用于开始此类活动。

于 2009-08-06T06:10:57.777 回答
0

您可以使用 -static 或 -s 选项在 gcc 或 g++ 中进行静态链接

于 2009-08-06T06:10:42.767 回答