接觸c++也不是很長,但是在寫工程的時候cmakelists.txt寫的不規範,會使得測試程式無法編譯成功,特此開一篇部落格專門寫一些cmake中常用的一些命令,這樣一來可以做個總結,第二個下次使用也便於查詢,相當於自己慢慢建立乙個cmake的命令手冊吧!
lz現在寫cmakelists.txt的時候有乙個小技巧可以分享給大家,就是在鏈結庫比較多,對於lz這種新手來說可能會寫的不是特別正確,這時,在main.cpp中可以先把相關的庫進行include,然後主函式輸出個hello world!,如果能通過編譯,就能確保對應依賴項新增正確,然後再增加主函式的**。。。可能有點傻,這個方法,但是對於新手寫cmakelists.txt還是很有效的o(∩_∩)o
1.新增c++11標準支援
#注意等式左右兩端不要加空格
set(cmake_cxx_flags "-std=c++11")
#有的時候可能會遇到,一定要注意是大寫的o,不是數字0
set(cmake_cxx_flags "-std=c++11 -o3")
其中,引數cmake_cxx_flags含義是: set compiler for c++ language
而後面的-o3(是字母opq的o,大寫的歐)是用來調節編譯時的優化程度的,最高為-o3,最低為-o0(即不做優化)
-ox這個引數只有在cmake -dcmake_build_type=release時有效,因為debug 版的專案生成的可執行檔案需要有除錯資訊並且不需要進行優化,而 release 版的不需要除錯資訊但需要優化。
2.制定cmake的最低版本
#定義cmake的最低版本時2.8
cmake_minimun_required(version 2.8)
可以在終端中檢視cmake的版本
cmake -version
#輸出如下
cmake version 3.2
.2
這裡需要注意兩點,如果不定義需要的版本可能會報個warning,如果有強迫症或者追求完美,還是把這行**寫上吧。第二點,不要定義的版本比自己安裝的版本還高,那樣估計就是直接編譯不通過了。。。
3.定義工程名稱
#定義工程的名稱叫felaim,lz這裡是隨意寫的,小夥伴們也可以自行定義
project(felaim)
4.指定安裝位址
第一種方式:
使用 cmake_install_prefix 來指定
cmake -dcmake_install_prefix=/usr ..
第二種方式:
修改cmake檔案,加入:
set(cmake_install_prefix < install_path >)
其實還有好多,但是時間有限,先寫一部分,後續待lz慢慢補上哈o(∩_∩)o Vim命令合集
以 和 開頭的命令都有歷史紀錄,可以首先鍵入 或 然後按上下箭頭來選擇某個歷史命令。在命令列視窗中輸入以下命令即可 vim 直接啟動vim vim filename 開啟vim並建立名為filename的檔案 開啟單個檔案 vim file 同時開啟多個檔案 vim file1 file2 file...
Vim命令合集
以 和 開頭的命令都有歷史紀錄,可以首先鍵入 或 然後按上下箭頭來選擇某個歷史命令。在命令列視窗中輸入以下命令即可 vim 直接啟動vim vim filename 開啟vim並建立名為filename的檔案 開啟單個檔案 vim file 同時開啟多個檔案 vim file1 file2 file...
Vim命令合集
以 和 開頭的命令都有歷史紀錄,可以首先鍵入 或 然後按上下箭頭來選擇某個歷史命令。在命令列視窗中輸入以下命令即可 vim 直接啟動vim vim filename 開啟vim並建立名為filename的檔案 開啟單個檔案 vim file 同時開啟多個檔案 vim file1 file2 file...