如何使qmake将stxxl.mk文件包含到生成的makefile中?
我有一个Qt项目,该项目处理大文件(> RAM),因此想使用STXXL。 STXXL documentation说:
当然,我可以手动编辑makefile来添加include /path/to/stxxl.mk
行,但是每次.pro文件更改makefile时都会很麻烦。
我已经在.pro文件中使用qmake命令搜索了一些解决方案,但无济于事。他们在一个forum文件中建议编辑qmake源文件并重新编译,但是如果程序将分发给其他人,则这是没有选择的,他们的qmake文件中没有此“修复程序”。
也许我在考虑复杂性,并且有一个简单的解决方案。我希望在使用这种组合(Qt + STXXL)时,确实有人解决了这个问题。
注意
这个问题Prepend/Append Makefile to a Qt generated Makefile要求的完全一样,但是解决方案不适合我的问题。
最佳答案
现在,我已经解决了以下解决方案:
由于stxxl.mk文件包含“有效的qmake代码”(它分配给变量),因此我使用include(stxxl.mk)导入这些变量。因此,我生成的项目文件包含:
include(/path/to/stxxl.mk)
QMAKE_CXXFLAGS += $$STXXL_CPPFLAGS_STXXL
LIBS += $$STXXL_LDLIBS_STXXL
这些是文档中使用的stxxl.mk唯一变量,因此我使用了它们并且它可以工作。