C++跨平臺開發(fā)

cmake 與源碼工程的關(guān)系:

image.png

cmake的工作流程:

image.png

第一步:Configure(配置)

  1. 在項目根目錄添加CMakeLists.txt文件
  2. 編寫配置信息

第二步:Generate(生成)

image.png

image.png

利用配置文件,根據(jù)不同的平臺,生成構(gòu)建文件(即本平臺的項目文件)

CMake(CMakeList.txt)=構(gòu)建文件(Makefile)/Ninja(Ninja)/sln(visualstudio)
命令:cmake .

  1. CMake根據(jù)本地環(huán)境或指定文件類型,生成相應(yīng)的構(gòu)建文件(項目文件)

對于這些不同的 Makefiles,實際編譯中使用的工具是不同的。
例如,在Borland Makefile 中,用于編譯 C++ 文件的編譯器稱為 bcc32。
而 Nmake是與微軟 Visual Studio 捆綁的 make 工具,使用的編譯器則是微軟 C++ 編譯器cl。

  • Borland Makefiles
  • MSYS Makefiles
  • MinGW Makefiles
  • NMake Makefiles
  • NMake Makefiles JOM
  • Watcom WMake

Visual Studio 6
Visual Studio 7
Visual Studio 7 .NET 2003
Visual Studio 8 2005
Visual Studio 9 2008
Visual Studio 10 2010
Visual Studio 11 2012
Visual Studio 12 2013
Visual Studio 14 2015
Xcode
更多信息

第三步:Build(編譯)

使用本地編譯器對構(gòu)建文件進(jìn)行編譯生成可執(zhí)行應(yīng)用或DLL.

本地編譯器(構(gòu)建文件)=本地可執(zhí)行程序(dll)
命令:cmake --build

  1. 根據(jù)目標(biāo)平臺,配置和指定適當(dāng)?shù)木幾g器(如GCC、Clang、MSVC等)。
  2. 設(shè)置編譯選項,如優(yōu)化級別、調(diào)試信息生成、特定于平臺的特性等。
  3. 調(diào)用編譯器進(jìn)行編譯,同時可能需要設(shè)置鏈接選項,如靜態(tài)或動態(tài)鏈接庫的選擇。
  4. 編譯完成后,生成可執(zhí)行文件或DLL,準(zhǔn)備部署或進(jìn)一步的測試。

第四步:Debug(調(diào)試)--此步嚴(yán)格上來說不屬于Cmake參與的范圍

  1. 根據(jù)目標(biāo)平臺選擇合適的調(diào)試工具(如gdb、lldb、Visual Studio Debugger等)。
  2. 配置調(diào)試環(huán)境,包括設(shè)置調(diào)試選項和調(diào)試器參數(shù)。
  3. 開始調(diào)試會話,使用調(diào)試工具進(jìn)行代碼調(diào)試,包括但不限于:
    • 設(shè)置斷點以暫停程序執(zhí)行
    • 單步執(zhí)行以逐行檢查代碼
    • 檢查和修改變量的值
    • 監(jiān)視表達(dá)式和變量的變化
    • 分析程序性能和內(nèi)存使用情況
  4. 根據(jù)調(diào)試結(jié)果,修復(fù)發(fā)現(xiàn)的問題,并迭代改進(jìn)代碼。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容