TShopping

 找回密碼
 註冊
搜索
查看: 359|回復: 0

[教學] CMake 使用說明 – how to use cmake

[複製鏈接]
發表於 2020-9-10 22:10:51 | 顯示全部樓層 |閱讀模式
 
Push to Facebook Push to Plurk  
我們常常改別人已經寫好的 open source 專案, 讓我有一種感覺 … 似乎大的系統都會有一套 building system, 先解析平台上的 toolchain, 使得系統可以容易安裝到其他平台上.
在 Unix 世界裡面, 最常見的就是 GNU Building System. 也就是你常見的先下 .configure -參數 指令, 然後會產生一堆 Makefile. 使用 building system 有另外一個好處, 那就是我們的 source code 就不會被某個編譯環境鎖住了 (ex: Visual Studio .Net).
今天要介紹的是 CMake!
CMake 指令, 可以讓我們的使用者更容易把程式建構於不同的平台. 重要的是, 它可以讓我選擇要產生 MakefileVisual Studio .Net 的專案檔 (sln 專案檔).
本文的主要結構為:
        1. 最簡單的 CMakeLists.txt 範例
        2. 如何在 Windows 下, 自動產生 Visual Studio .Net 專案檔

工具:

達成的目的, 如下所示:

CMake toolchain

CMake toolchain
先把範例端上來,如沒編輯工具請用windows 記事本fun.cpp
  1. int add(int a,int b){
  2.     return a+b;
  3. }
複製代碼
fun.h
  1. int add(int a,int b);
複製代碼


main.cpp
  1. #include "fun.h"
  2. #include <stdio.h>

  3. int main(){
  4.     int ans=add(1,2);
  5.     printf("ans=%d",ans);
  6.     return 0;
  7. }
複製代碼


要做的事
1. 建立一個 library 檔稱為 MyLibrary, 裡面包含 fun.cpp
2. 自動建立 makefile, 把 main.cpp 與 MyLibrary 連接並且編譯.
用 cmake 該怎麼作?
Step 1: 寫一個 CMakeLists.txt, 描述該怎麼編譯你的 source
CMakeLists.txt
  1. project(MyProject)

  2. add_library(MyLibrary fun.cpp)  # 建立程式庫 MyLibrary
  3. add_executable(MyProgram main.cpp) # 建立執行檔 MyProgram


  4. # 產生執行檔 MyProgram 與 程式庫 MyLibrary 連結指令
  5. target_link_libraries(MyProgram MyLibrary)
複製代碼
Step 2: 把它與你的 source files 放在一起

CMake toolchain

CMake toolchain

Step 3: 開啟CMAKE,我設定的路徑
a.  指定 source code 的位置在: cmaketest/source
b. 編譯後的結果放在: cmaketest/bin

CMake toolchain

CMake toolchain

Step 4:選擇 [Generate] 開始產生 Visual Studio 2019 專案檔

CMake toolchain

CMake toolchain

CMake toolchain

CMake toolchain

文章出處:網頁設計,網站架設 ,網路行銷,網頁優化,SEO - NetYea 網頁設計


 

臉書網友討論
您需要登錄後才可以回帖 登錄 | 註冊 |

本版積分規則



Archiver|手機版|小黑屋|免責聲明|TShopping

GMT+8, 2020-9-27 12:24 , Processed in 0.060436 second(s), 22 queries .

本論壇言論純屬發表者個人意見,與 TShopping綜合論壇 立場無關 如有意見侵犯了您的權益 請寫信聯絡我們。

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表