1. 程式人生 > >Qt那些事0.0.21

Qt那些事0.0.21

這次還是關於PRO檔案中QMAKE_POST_LINK的故事。

平時都是使用VS2015作為編譯器,恰巧想用MinGW編一版程式,結果偏偏出現了錯誤。話說測試的這個專案可是在Linux下(fodera 20)可以正確編譯通過。

心有不甘的細細探索,錯誤是 *** missing separator. Stop ,能看出問題發生在makefile中,但是不熟,沒遇到過,於是百度。被人評價為Make的低階錯誤,是因為makefile中的語句沒有使用TAB作為起始。

發生錯誤的語句正好是自己寫的QMAKE_POST_LINK,通常的寫法為:

QMAKE_POST_LINK += $$escape_expand("\\n") copy /y $$replace(PWD,"/","\\")\\manual.pdf $$replace(DESTDIR,"/","\\")

其中$$escape_expand是為了在makefile中增加換行符,現如今被要求增加 TAB,因此改成:

QMAKE_POST_LINK += $$escape_expand("\\n\\t") copy /y $$replace(PWD,"/","\\")\\manual.pdf $$replace(DESTDIR,"/","\\")

果然