我静态链接 Qt,那么链接器或其他一些工具是否可以避免将未使用的二进制代码(来自 Qt 库)添加到最终的可执行文件中?我不认为我使用了所有 10 MB 的 Qt 库代码。
最佳答案
如果你在某个时候自己编译了 Qt 库并且你正在使用 g++ 你应该尝试使用 Link Time Optimisation (LTO)选项。 您可以通过将 -flto 添加到所有 g++ 调用中来执行此操作。这让 g++ 将所谓的 GIMPLE 代码添加到与您的源代码相对应的目标文件中(因此它没有完全编译)。在链接步骤中,您应该添加 -fwhole-program 或 -fuse-linker-plugin。 gcc 然后读取 Gimple 代码,并从整体上优化您的程序,因此它应该能够摆脱任何未使用的代码。但是我不能保证这对你有用。
关于c++ - 链接后的最小可执行文件大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11097131/