3

如何让 qmake 将 stxxl.mk 文件包含到生成的 makefile 中?

我有一个 Qt 项目,它处理大文件(> RAM),因此想使用 STXXL。STXXL文档说:

构建应用程序

编译库后,一些 Makefile 变量将写入您的 STXXL_ROOT 目录中的 stxxl.mk [...]。该文件应包含在您的应用程序的 Makefile 中。

当然,我可以手动编辑 makefile 以添加该行include /path/to/stxxl.mk,但是每次 .pro 文件都这样做非常乏味,因此 makefile 发生更改。

我已经在 .pro 文件中使用 qmake 命令搜索了一些解决方案,但无济于事。在一个论坛中,他们建议编辑 qmake 源并重新编译它,但如果程序将分发给其他人,他们的 qmake 中没有这个“修复”,这是没有选择的。

也许我想复杂并且有一个简单的解决方案。我希望这里有一些人在使用这种组合(Qt + STXXL)时确实解决了这个问题。

注意 这个问题Prepend/Append Makefile to a Qt generated Makefile要求完全相同,但解决方案不适合我的问题。

4

1 回答 1

2

现在我已经解决了以下解决方案:

由于 stxxl.mk 文件包含“有效的 qmake 代码”(它分配给变量),我使用 include(stxxl.mk) 导入这些变量。所以我生成的项目文件包含:

include(/path/to/stxxl.mk)
QMAKE_CXXFLAGS += $$STXXL_CPPFLAGS_STXXL
LIBS += $$STXXL_LDLIBS_STXXL

这些是文档中使用的 stxxl.mk 的唯一变量,所以我使用了它们并且它有效。

于 2012-08-08T13:02:38.960 回答