qmake 自定義 Makefile 檔案輸出

2021-08-31 22:10:47 字數 776 閱讀 7214

使用qcreator  +git 的時候因為qcreator 的自己生成專案檔案在其他機器上面不能使用(編譯步驟會還原成只剩qmake-make)。導致一些自定義編譯步驟和一些指令碼操作不在能用。現在,我們可以通過 qmake 的自定義 makefile 檔案輸出達到這一目地。

比如我這邊用了第三方編譯好的靜態庫,編譯時候拷貝了標頭檔案和 libs

+= -l ./ -llibname 這樣的選項,這時如果我們選擇用 shadow build 指定編譯到其他目錄去的時候,qmake生成make檔案是不能找到-l中的的相關靜態庫檔案的。這時候自定義 makefile 檔案輸出就有用了。

qmake的pro檔案中有這個變數qmake_extra_targets 這個可以理解為額外編譯目標、還有pre_targetdeps可以理解為預編譯目標依賴 ,比如下面這個

mybuild.target=mybuild

win32 ../project/libname-mingw.a libname.a

}else ../project/libname-gcc.a libname.a

}qmake_extra_targets += mybuild

pre_targetdeps += mybuild

像上面這個就是定義了乙個在makefile中的乙個編譯目標mybuild

然後make的時候,在我們編譯目標檔案之前就執行mybuild。這樣就保證了編譯時候庫檔案就拷貝到編譯目錄裡面。不需要在qcreator裡面設定編譯步驟去拷貝了,其commands 裡面還可以直接呼叫本地指令碼執行更多的方法。

自定義 如何自定義協議

何為自定義協議,其實是相對標準協議來說的,這裡主要針對的是應用層協議 常見的標準的應用層協議如http ftp smtp等,如果我們在網路通訊的過程中不去使用這些標準協議,那就需要自定義協議,比如我們常用的rpc框架 dubbo,thrift 分布式快取 redis,memcached 等都是自定義...

自定義控制項 自定義鐘錶

private context mcontext 畫筆 private paint mpaint 控制項的寬 private int mwidth x方向的圓心座標 private int center 鐘錶的半徑 private int mradio 圓環的寬 private int stroke...

自定義控制項及自定義屬性

自定義控制項在android開發中的重要性,是不言而喻,眾人皆知的。希望通過這二天的學習,能讓大家了解自定義控制項的原理,熟悉自定義控制項的使用步驟,並能寫出一些普通的效果。內容介紹 1 使用系統控制項,實現自定義的效果,案例有 優酷環形選單 廣告條 viewpager 下拉列表 spinner 2...