cmake在編譯庫文件、應(yīng)用程序中的相關(guān)指令解讀
5. Application 目錄說明
這個目錄的編譯輸出是:一個可執(zhí)行程序,其中調(diào)用了 libUtils 庫中的函數(shù)。
CMakeLists.txt 文件內(nèi)容如下:
三、Linux 系統(tǒng)下操作步驟
1. 創(chuàng)建構(gòu)建目錄 build$ mkdir build
在一個獨(dú)立的 build 目錄中編譯,生成的中間代碼不會污染源代碼,這樣對于使用 git 等版本管控工具來說非常的方便,在提交的時(shí)候只需要 ignore build 目錄即可,強(qiáng)烈推薦按照這樣的方式來處理。
2. 執(zhí)行 cmake,生成 Makefile$ cd build
$ cmake ..
3. 編譯 Utils 庫$ cd Utils/src
$ make
在 CMakeLists.txt 中的最后部分是安裝指令,把產(chǎn)生的庫文件和頭文件,安裝到源碼中的 install 目錄下。
$ make install
4. 編譯可執(zhí)行程序 Application
Application 使用到了 libUtils.so 庫,因此需要手動把 libUtils.so 和頭文件,復(fù)制到 Application 下面對應(yīng)的 lib/linux 和 include 目錄下。
當(dāng)然,也可以把這個操作寫在 Utils 的安裝命令里。
$ cd build/Application/src
$ make
執(zhí)行生成的可執(zhí)行程序 main,即可看到輸出結(jié)果。
四、Widnows 系統(tǒng)下操作步驟
1. 通過 cmake 指令生成 VS 工程
同樣的道理,新建一個 build 目錄,然后在其中執(zhí)行 cmake .. 指令,生成 VS 解決方案,我使用的是 VS2019:
2. 編譯 Utils 庫文件
使用 VS2019 打開工程文件 DemoApp.sln,在右側(cè)的解決方案中,可以看到:
在 libUtils_shared 單擊右鍵,選擇【生成】:
此時(shí),在目錄 buildUtilssrcDebug 下面,可以看到生成的文件:
3. 編譯可執(zhí)行程序 Application
因?yàn)锳pplication需要使用 Utils 生成的庫,因此,需要手動把庫和頭文件復(fù)制到 Application 下面的 lib/win32 和 include 目錄下。
在 VS 解決方案窗口中,在 main 目標(biāo)上,單擊右鍵,選擇【生成】:
此時(shí),在目錄 buildApplicationsrcDebug 下可以看到生成的可執(zhí)行程序:
直接單擊 main.exe 執(zhí)行,報(bào)錯:
需要把 libUtils.dll 動態(tài)庫文件復(fù)制到 main.exe 所在的目錄下,然后再執(zhí)行,即可成功。
五、總結(jié)
這篇文章的操作過程主要以動態(tài)庫為主,如果編譯、使用靜態(tài)庫,執(zhí)行過程是一樣一樣的。

請輸入評論內(nèi)容...
請輸入評論/評論長度6~500個字
最新活動更多
-
6月20日立即下載>> 【白皮書】精準(zhǔn)測量 安全高效——福祿克光伏行業(yè)解決方案
-
7月3日立即報(bào)名>> 【在線會議】英飛凌新一代智能照明方案賦能綠色建筑與工業(yè)互聯(lián)
-
7月22-29日立即報(bào)名>> 【線下論壇】第三屆安富利汽車生態(tài)圈峰會
-
7.30-8.1火熱報(bào)名中>> 全數(shù)會2025(第六屆)機(jī)器人及智能工廠展
-
7月31日免費(fèi)預(yù)約>> OFweek 2025具身機(jī)器人動力電池技術(shù)應(yīng)用大會
-
免費(fèi)參會立即報(bào)名>> 7月30日- 8月1日 2025全數(shù)會工業(yè)芯片與傳感儀表展
推薦專題
- 1 AI 眼鏡讓百萬 APP「集體失業(yè)」?
- 2 大廠紛紛入局,百度、阿里、字節(jié)搶奪Agent話語權(quán)
- 3 深度報(bào)告|中國AI產(chǎn)業(yè)正在崛起成全球力量,市場潛力和關(guān)鍵挑戰(zhàn)有哪些?
- 4 上海跑出80億超級獨(dú)角獸:獲上市公司戰(zhàn)投,干人形機(jī)器人
- 5 國家數(shù)據(jù)局局長劉烈宏調(diào)研格創(chuàng)東智
- 6 一文看懂視覺語言動作模型(VLA)及其應(yīng)用
- 7 下一代入口之戰(zhàn):大廠為何紛紛押注智能體?
- 8 百億AI芯片訂單,瘋狂傾銷中東?
- 9 Robotaxi新消息密集釋放,量產(chǎn)元年誰在領(lǐng)跑?
- 10 格斗大賽出圈!人形機(jī)器人致命短板曝光:頭腦過于簡單