Qt 5.2.0 生成单个 .o 文件

Qt 5.2.0 generate single .o file

本文关键字:单个 文件 Qt      更新时间:2023-10-16

现在Qt在我的项目中每个.cpp文件都会生成一个.o文件。我可以强制它只生成一个巨大的.o文件吗?或者我可以使用一些实用程序将多个.o文件转换为一个文件吗?

编辑1:我这样做的原因是因为我想编译一个 signle exe(没有 dlls),但 LGPL要求必须为静态链接的程序提供其目标文件。这里(https://stackoverflow.com/a/17736670/1389883)写道,我只能提供一个巨大的对象文件。

您的问题不清楚您使用的是哪个工具链,因此我假设您需要一个跨平台的解决方案,而不是一个特定的解决方案。

我认为您正在寻找我们在 KDE 中使用过的东西,这是KDE4_ENABLE_FINAL。它将通过拥有您希望拥有一个对象文件来减少链接时间,但另一方面,它肯定会使用更多内存。

您可以在下面检查如何处理该 cmake 变量。它基本上只是将源文件连接在一起,成为一个编译单元。这样做是因为底层工具链没有这样的直接选项。