訂閱
糾錯
加入自媒體

cmake在編譯庫文件、應用程序中的相關指令解讀

2021-04-30 14:04
道哥分享
關注

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í)行過程是一樣一樣的。


<上一頁  1  2  
聲明: 本文由入駐維科號的作者撰寫,觀點僅代表作者本人,不代表OFweek立場。如有侵權或其他問題,請聯(lián)系舉報。

發(fā)表評論

0條評論,0人參與

請輸入評論內(nèi)容...

請輸入評論/評論長度6~500個字

您提交的評論過于頻繁,請輸入驗證碼繼續(xù)

暫無評論

暫無評論

    掃碼關注公眾號
    OFweek人工智能網(wǎng)
    獲取更多精彩內(nèi)容
    文章糾錯
    x
    *文字標題:
    *糾錯內(nèi)容:
    聯(lián)系郵箱:
    *驗 證 碼:

    粵公網(wǎng)安備 44030502002758號