将c ++编译成“真正的”程序

时间:2009-08-06 06:01:54

标签: c++ macos g++ packaging compilation

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

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

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

3 个答案:

答案 0 :(得分:8)

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

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

答案 1 :(得分:3)

由于您在谈论Mac OS X,您可能想要制作一个包。 Qt软件对于开始这种活动非常有用deployment guide

答案 2 :(得分:0)

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

相关问题