隨著專案的成長,規模不斷擴大,我遇到了許多問題。以前,我只專注於如何快速解決bug,而忽略了CMake如何建構一個專案的原理。因此,我決定使用這30天時間,深入學習如何運用CMake來打造個人的C/C++專案,順便還一下以前欠下的知識債(Knowledge Debt)。
這個旅程是以開發專案的視角來學習CMake,但是將不僅限於CMake的使用,我也會分享在開發專案過程中遇到的問題以及解決方案。
什麼是庫? 庫是寫好的現有的,成熟的,可以復用的二進制檔案。現實中每個專案都要依賴很多基礎的底層庫(iostream, vector, sys/resourc...
在上一篇I7565H1/H2 SDK的檔案架構中有一個現象,lib資料夾中動態庫(.so)旁邊都有一個箭頭指向該檔案,靜態庫(.a)卻沒有,這個現象就和動態庫的...
接下來本篇要實做的範例內容會是實際更改原始碼,然後依據更改的內容來更新版本號,在不重新編譯主程式僅更新動態庫的情況下看看那一些情況可以成功執行,那一些情況需要重...
上一篇我們直接設定庫的導出目錄(LIBRARY_OUTPUT_PATH)到上一層的 lib 資料夾中讓主程式使用,但是實際使用上通常會使用 "inst...
昨天已經成功使用了"install()"命令安裝標頭檔和庫到指定位置了,可是要怎麼刪除呢?當然可以使用土法煉鋼的方法 -- 手動去安裝路徑刪...
平常我們在安裝第三方庫時,有些會提供兩種安裝方式讓使用者選擇,一種是從原始碼編譯後再安裝至系統,另一種是使用 ubuntu 的包管理器 dpkg ,這兩種方式各...
在了解過Day14 從原始碼安裝庫 和 Day16 使用包管理器安裝庫這兩種不同的安裝方法後,今天就來介紹軟體發布的流程。 首先,當我們進行軟體版本的更新時,如...
在CMake中,有提供 configure_file() 指令來產生 Object-like Macros的功能,常用來標示該軟體的版本號,就像機器學習中常用的...
第三方庫能讓別的專案使用的關鍵是能夠讓別人找到它的頭文件和庫文件。而之前在 "第五章 版本與安裝"中,主程式都事先知道安裝的頭文件與鍊結庫的...
使用第三方函式庫 OpenCV 的範例 $ git clone https://github.com/m11112089/2023_iT_CMake.git$...