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

請輸入評論內(nèi)容...
請輸入評論/評論長度6~500個字
最新活動更多
推薦專題
- 1 UALink規(guī)范發(fā)布:挑戰(zhàn)英偉達AI統(tǒng)治的開始
- 2 北電數(shù)智主辦酒仙橋論壇,探索AI產(chǎn)業(yè)發(fā)展新路徑
- 3 降薪、加班、裁員三重暴擊,“AI四小龍”已折戟兩家
- 4 “AI寒武紀”爆發(fā)至今,五類新物種登上歷史舞臺
- 5 國產(chǎn)智駕迎戰(zhàn)特斯拉FSD,AI含量差幾何?
- 6 光計算迎來商業(yè)化突破,但落地仍需時間
- 7 東陽光:2024年扭虧、一季度凈利大增,液冷疊加具身智能打開成長空間
- 8 地平線自動駕駛方案解讀
- 9 封殺AI“照騙”,“淘寶們”終于不忍了?
- 10 優(yōu)必選:營收大增主靠小件,虧損繼續(xù)又逢關稅,能否乘機器人東風翻身?