2012-07-19 52 views
3

如何讓qmake將stxxl.mk文件包含到生成的makefile中?在Qt項目中使用STXXL

我有一個Qt項目,它處理大文件(> RAM),因此想要使用STXXL。該STXXL documentation說:

創建應用程序

編譯庫後,一些Makefile的變量被寫入stxxl.mk [...]在您的 STXXL_ROOT目錄。這個文件應該包含在你的應用程序的Makefile中。

當然,我可以手動編輯makefile以添加行include /path/to/stxxl.mk,但每次.pro文件執行此操作並因此更改makefile時非常繁瑣。

我已經在.pro文件中用qmake命令搜索了一些解決方案,但無濟於事。在一個forum中,他們建議編輯qmake源代碼並重新編譯它,但如果程序將被分發給其他人,而他們的qmake中沒有這個「修復」,那麼這是沒有選擇的。

也許我想複雜,有一個簡單的解決方案。我希望在這裏有些人在解決這個問題時使用這個組合(Qt + STXXL)。

注意 這個問題Prepend/Append Makefile to a Qt generated Makefile被要求完全一樣,但解決方案不適合我的問題。

回答

2

現在我已經用以下解決方案解決:

由於stxxl.mk文件包含「有效QMAKE代碼」(其分配給變量),我使用包括(stxxl.mk)導入這些變量。所以我生成的項目文件包括:

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

這些是在文檔中使用的是讓我用他們和它的作品stxxl.mk的唯一變量。