如何在目标平台上链接c ++标准库

时间:2019-11-19 20:17:52

标签: c++ compilation installation cross-compiling c++-standard-library

在编写代码的计算机上编译和运行我的C ++程序非常容易;但是,我不知道如何在目标计算机上安装程序。例如,假设我在Mac上创建了一个桌面应用程序,并希望将其发送给我的朋友,以便他们也可以在自己的计算机上使用它。

作为一种依赖于硬件的语言,我知道我需要在主机上链接目标文件。对于我自己的标头/源文件,我可以将它们包含在zip文件中,并创建安装程序脚本来链接目标文件并创建可执行文件。

当我包含vector或iostream等标准库时会发生什么?目标计算机可能没有安装正确的库,尤其是当我使用了更专业的库(例如Qt GUI库)时,即使安装了这些文件,我也可能无法找到它们。

在这一点上,我认为我要么必须在目标计算机上安装这些库,要么在zip文件中提供我需要的标准文件的副本。后一种选择似乎会占用不必要的存储空间,并创建比该库可能是共享库时所需的可执行文件更大的可执行文件。

我愿意向您开放尽可能多的信息!我主要是在寻找有关行业最佳实践的高层答案(例如,是的,单独包含这些库,或者是的,将它们安装在目标计算机上)。

我已经阅读了一些有关使用InnoSetup / NSIS / WiX来安装程序的知识,并且已经考虑过使用Clang进行跨平台编译,但是我仍然不清楚如何链接标准库。另外,如果您想对安装程序的工作方式有一个高层次的概述,我也将不胜感激。欢迎使用指向外部参考的链接,我会给他们阅读。

非常感谢!

0 个答案:

没有答案