【发布时间】:2014-01-10 19:06:54
【问题描述】:
现在 Qt 在我的项目中为每个.cpp 文件生成一个.o 文件。我可以强制它只生成一个巨大的.o 文件吗?或者我可以使用一些实用程序将多个.o 文件转换为一个文件吗?
编辑1: 我这样做的原因是因为我想编译一个signle exe(没有dll)但是LGPL 要求静态链接的程序必须提供它的目标文件。这里(https://stackoverflow.com/a/17736670/1389883)写道,我只能提供一个巨大的目标文件。
【问题讨论】:
-
不要认为这是可能的。但也许你可以解释想要这样做的原因。通常,将对象打包在一起是在创建静态库时完成的。
-
这不只是一个优化标志吗?
-
我不知道。哪一个?
-
也许不是创建一个巨大的 obj 文件(这不可能不破坏您的项目结构),而是创建一个静态库?这是一个包含 obj 文件的存档。我认为静态库将满足 LGPL 要求。
-
@ThijsvanDien:为什么会重复? OP似乎没有提到gcc。如果它需要跨平台或仅适用于 clang 和/或 msvc 怎么办? :)