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 等版本管控工具來說非常的方便,在提交的時候只需要 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 單擊右鍵,選擇【生成】:
此時,在目錄 buildUtilssrcDebug 下面,可以看到生成的文件:
3. 編譯可執(zhí)行程序 Application
因?yàn)锳pplication需要使用 Utils 生成的庫,因此,需要手動把庫和頭文件復(fù)制到 Application 下面的 lib/win32 和 include 目錄下。
在 VS 解決方案窗口中,在 main 目標(biāo)上,單擊右鍵,選擇【生成】:
此時,在目錄 buildApplicationsrcDebug 下可以看到生成的可執(zhí)行程序:
直接單擊 main.exe 執(zhí)行,報錯:
需要把 libUtils.dll 動態(tài)庫文件復(fù)制到 main.exe 所在的目錄下,然后再執(zhí)行,即可成功。
五、總結(jié)
這篇文章的操作過程主要以動態(tài)庫為主,如果編譯、使用靜態(tài)庫,執(zhí)行過程是一樣一樣的。

發(fā)表評論
請輸入評論內(nèi)容...
請輸入評論/評論長度6~500個字
最新活動更多
-
7月8日立即報名>> 【在線會議】英飛凌新一代智能照明方案賦能綠色建筑與工業(yè)互聯(lián)
-
7月22-29日立即報名>> 【線下論壇】第三屆安富利汽車生態(tài)圈峰會
-
7月31日免費(fèi)預(yù)約>> OFweek 2025具身機(jī)器人動力電池技術(shù)應(yīng)用大會
-
7.30-8.1火熱報名中>> 全數(shù)會2025(第六屆)機(jī)器人及智能工廠展
-
免費(fèi)參會立即報名>> 7月30日- 8月1日 2025全數(shù)會工業(yè)芯片與傳感儀表展
-
即日-2025.8.1立即下載>> 《2024智能制造產(chǎn)業(yè)高端化、智能化、綠色化發(fā)展藍(lán)皮書》
推薦專題
- 1 AI 眼鏡讓百萬 APP「集體失業(yè)」?
- 2 豆包前負(fù)責(zé)人喬木出軌BP后續(xù):均被辭退
- 3 一文看懂視覺語言動作模型(VLA)及其應(yīng)用
- 4 “支付+”時代,支付即生態(tài) | 2025中國跨境支付十大趨勢
- 5 中國最具實(shí)力AI公司TOP10
- 6 特斯拉Robotaxi上路,馬斯克端上畫了十年的餅
- 7 國家數(shù)據(jù)局局長劉烈宏調(diào)研格創(chuàng)東智
- 8 AI的夏天:第四范式VS云從科技VS地平線機(jī)器人
- 9 張勇等人退出阿里合伙人
- 10 深圳跑出40億超級隱形冠軍:賣機(jī)器人年入6.1億,港股上市