cmake 從入門到入土

2021-10-07 15:15:06 字數 652 閱讀 5386

你或許聽過好幾種 make 工具,例如 :

這些 make 工具遵循著不同的規範和標準,所執行的 makefile 格式也千差萬別。這樣就帶來了乙個嚴峻的問題:如果軟體想跨平台,必須要保證能夠在不同平台編譯。而如果使用上面的 make 工具,就得為每一種標準寫一次 makefile ,這將是一件讓人抓狂的工作。

cmake就是針對上面問題所設計的工具:它首先允許開發者編寫一種平台無關的 cmakelist.txt 檔案來定製整個編譯流程,然後再根據目標使用者的平台進一步生成所需的本地化 makefile 和工程檔案,如 unix 的 makefile 或 windows 的 visual studio 工程。從而做到「write once, run everywhere」。

cmake 是乙個跨平台的安裝(編譯)工具,可以用簡單、統一的語句來描述所有平台的安裝或編譯過程。能夠輸出不同編譯器的 makefile 或 project 檔案。

cmake 使用 cmakelists.txt檔案作為專案組織檔案,cmake 並非跨平台編譯工具,而是專案構建工具,可以在不同的平台上根據構建引數生成工程專案,例如 windows 平台下可以構建 visual studio 工程 或 nmake 工程,可選指定 visual studio 的版本;在 unix 構建 makefile 工程 。

Linux從入門到入土

在此開個專題,用來記錄一下在使用linux中常用的命令。持續更新 常見錯誤 dpkg i 檔名cmake dcmake install prefix usr include ar 解包 tar zxvf filename.tar 打包 tar czvf filename.tar dirname gz...

FFT 從入門到入土

fft 是一種可以在 o n log n 的時間複雜度內求解兩個多項式的乘積。實際上,fft 只是在求解方法上優化了 dft 離散傅利葉變換 的過程,並沒有提出新的理論。但是其高效的複雜度使得它被廣泛使用。就是使用乙個多項式的係數序列來表達這個多項式。f x sum a ix i leftright...

BZOJ從入門到入土

jsoi2010 連通數 有向圖求每乙個點到能到達的點的個數的和 包括自己到自己 scc bitset dp includeusing namespace std 方法 scc bitset傳遞閉包 或 直接bitset優化floyd 1.tarjan板子複習 2.tarjan縮點重建圖複習 3.利...