cmake教程
cmake教程提供了分步指南,涵蓋了cmake可以解決的常見構建系統問題。 了解示例專案中各個主題如何協同工作將非常有幫助。 教程文件和示例的源**可以在cmake源**樹的help / guide / tutorial目錄中找到。 每個步驟都有其自己的子目錄,該目錄包含可以用作起點的**。 教程示例是漸進式的,因此每個步驟都為上一步提供了完整的解決方案。
基本起點(步驟1)
最基本的專案是從源**檔案構建的可執行檔案。 對於簡單的專案,只需三行cmakelists.txt檔案。 這將是本教程的起點。 在step1目錄中建立乙個cmakelists.txt檔案,如下所示:
cmake_minimum_required(version 3.10)
# set the project name
project(tutorial)
# add the executable
add_executable(tutorial tutorial.cxx)
請注意,此示例在cmakelists.txt檔案中使用小寫命令。 cmake支援大寫,小寫和大小寫混合命令。 step1目錄中提供了tutorial.cxx的源**,可用於計算數字的平方根。
新增版本號和配置的標頭檔案
我們將新增的第乙個功能是為我們的可執行檔案和專案提供版本號。 儘管我們可以僅在源**中執行此操作,但使用cmakelists.txt可以提供更大的靈活性。
首先,修改cmakelists.txt檔案以使用project()命令設定專案名稱和版本號。
cmake_minimum_required(version 3.10)
# set the project name and version
project(tutorial version 1.0)
然後,配置標頭檔案以將版本號傳遞給源**:
configure_file(tutorialconfig.h.in tutorialconfig.h)
由於已配置的檔案將被寫入二進位制樹,因此我們必須將該目錄新增到路徑列表中以搜尋包含檔案。 將以下行新增到cmakelists.txt檔案的末尾:
target_include_directories(tutorial public
"$")
// the configured options and settings for tutorial
#define tutorial_version_major @tutorial_version_major@
#define tutorial_version_minor @tutorial_version_minor@
當cmake配置此標頭檔案時,@ tutorial_version_major @和@ tutorial_version_minor @的值將被替換。
接下來,修改tutorial.cxx以包括配置的標頭檔案tutorialconfig.h。
最後,通過更新tutorial.cxx來列印出版本號,如下所示:
if (argc < 2)
指定c ++標準
接下來,通過在tutorial.cxx中將stof :: stod替換為atof,向我們的專案中新增一些c ++ 11功能。 同時,刪除#include 。
const double inputvalue = std::stod(ar**[1]);
我們將需要在cmake**中明確宣告應使用正確的標誌。 在cmake中啟用對特定c ++標準的支援的最簡單方法是使用cmake_cxx_standard變數。 對於本教程,將cmakelists.txt檔案中的cmake_cxx_standard變數設定為11,並將cmake_cxx_standard_required設定為true:
cmake_minimum_required(version 3.10)
# set the project name and version
project(tutorial version 1.0)
# specify the c++ standard
set(cmake_cxx_standard 11)
set(cmake_cxx_standard_required true)
構建和測試
執行cmake可執行檔案或cmake-gui來配置專案,然後使用所選的構建工具對其進行構建。
例如,從命令列我們可以導航到cmake源**樹的help / guide / tutorial目錄並執行以下命令:
mkdir step1_build
cd step1_build
cmake ../step1
cmake --build .
導航到構建tutorial的目錄(可能是make目錄或debug或release構建配置子目錄),然後執行以下命令:
tutorial 4294967296
tutorial 10
tutorial
實驗**: Step 1 準備工作
閒下來了,想著自己搞個基於統一訊息的client im,開始著手準備 開發工具 delphi 7 開發輔助 castalia.v3.13.for.delphi7 測試工具 dunit 效能分析 gpprofile 記憶體檢測 memproof 標準協議 xmpp xmpp協議 rfc 3920 xm...
Step1 許可權管理介紹
1.能實現角色級許可權 rbac 2.能實現功能級和資料級別許可權 許可權管理介面 角色管理介面 使用者管理介面 角色和許可權關係維護介面 使用者和角色關係維護介面 主流開源許可權管理框架有 spring security 和 apache shiro 內容包括 spring security架構,...
Unity 接觸安卓 Step 1
1.打包環境設定 配置安卓sdk 與jdk 2.安卓設定螢幕旋轉 手機自適應,遊戲一般都是橫屏鎖定 首先playersetting裡面resolution and presentation default orientation 預設方向 portrait 豎屏 portrait upside do...