2013-12-22 88 views
1

现在Qt在我的项目中每.cpp文件生成一个.o文件。我可以强制它只生成一个巨大的.o文件吗?或者我可以使用一些utils在一个文件中转换多个.o文件?Qt 5.2.0生成单个.o文件

EDIT1: 为什么我这样做的原因是因为我想编一个劲儿地exe文件(没有的DLL),但LGPL 要求静态链接程序必须提供与它的目标文件。在这里(https://stackoverflow.com/a/17736670/1389883)写道,我只能提供一个巨大的对象文件。

+0

不要以为这是可能的。但也许你可以解释想要这样做的原因。通常,创建静态库时将对象打包在一起。 – Pat

+0

这不就是一个优化标志吗? – lpapp

+0

我不知道。哪一个? – iamnp

回答

1

你的问题不清楚你正在使用哪个工具链,所以我会假设你需要一个跨平台的解决方案,而不是一个具体的解决方案。

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

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

+0

是gcc还是ld的选项?你能提供链接吗? – sim

+0

@sim:不,它不是。这是工具链之上的一个技巧。请注意,OP没有提到gcc。 – lpapp

相关问题