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

發(fā)表評(píng)論
請(qǐng)輸入評(píng)論內(nèi)容...
請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字
圖片新聞
最新活動(dòng)更多
-
10月23日火熱報(bào)名中>> 2025是德科技創(chuàng)新技術(shù)峰會(huì)
-
10月23日立即報(bào)名>> Works With 開發(fā)者大會(huì)深圳站
-
10月24日立即參評(píng)>> 【評(píng)選】維科杯·OFweek 2025(第十屆)物聯(lián)網(wǎng)行業(yè)年度評(píng)選
-
11月27日立即報(bào)名>> 【工程師系列】汽車電子技術(shù)在線大會(huì)
-
12月18日立即報(bào)名>> 【線下會(huì)議】OFweek 2025(第十屆)物聯(lián)網(wǎng)產(chǎn)業(yè)大會(huì)
-
精彩回顧立即查看>> 【限時(shí)福利】TE 2025國(guó)際物聯(lián)網(wǎng)展·深圳站
推薦專題