日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > linux >内容正文

linux

Linux下CMake简明教程(七)对库进行链接

發(fā)布時(shí)間:2025/4/5 linux 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux下CMake简明教程(七)对库进行链接 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

代碼在git
既然我們已經(jīng)生成了庫(kù),那么就進(jìn)行鏈接測(cè)試下。重新建一個(gè)工程目錄,然后把上節(jié)生成的庫(kù)拷貝過來,然后在在工程目錄下新建src目錄和bin目錄,在src目錄下添加一個(gè)main.c,整體結(jié)構(gòu)如下,

. ├── bin ├── build ├── CMakeLists.txt ├── src │ └── main.c └── testFunc├── inc│ └── testFunc.h└── lib├── libtestFunc.a└── libtestFunc.so

main.c內(nèi)容如下,

#include <stdio.h>#include "testFunc.h"int main(void) {func(100);return 0; }

工程目錄下的CMakeLists.txt內(nèi)容如下,

cmake_minimum_required (VERSION 3.5)project (demo)set (EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)set (SRC_LIST ${PROJECT_SOURCE_DIR}/src/main.c)# find testFunc.h include_directories (${PROJECT_SOURCE_DIR}/testFunc/inc)find_library(TESTFUNC_LIB testFunc HINTS ${PROJECT_SOURCE_DIR}/testFunc/lib)add_executable (main ${SRC_LIST})target_link_libraries (main ${TESTFUNC_LIB})

這里出現(xiàn)2個(gè)新的命令,

  • find_library: 在指定目錄下查找指定庫(kù),并把庫(kù)的絕對(duì)路徑存放到變量里,其第一個(gè)參數(shù)是變量名稱,第二個(gè)參數(shù)是庫(kù)名稱,第三個(gè)參數(shù)是HINTS,第4個(gè)參數(shù)是路徑,其它用法可以參考cmake文檔
  • target_link_libraries: 把目標(biāo)文件與庫(kù)文件進(jìn)行鏈接
    使用find_library的好處是在執(zhí)行cmake …時(shí)就會(huì)去查找?guī)焓欠翊嬖?#xff0c;這樣可以提前發(fā)現(xiàn)錯(cuò)誤,不用等到鏈接時(shí)。

cd到build目錄下,然后運(yùn)行cmake … && make,最后進(jìn)入到bin目錄下查看,發(fā)現(xiàn)main已經(jīng)生成,運(yùn)行之,

運(yùn)行成功!

ps:在lib目錄下有testFunc的靜態(tài)庫(kù)和動(dòng)態(tài)庫(kù),find_library(TESTFUNC_LIB testFunc …默認(rèn)是查找動(dòng)態(tài)庫(kù),如果想直接指定使用動(dòng)態(tài)庫(kù)還是靜態(tài)庫(kù),可以寫成find_library(TESTFUNC_LIB libtestFunc.so …或者find_library(TESTFUNC_LIB libtestFunc.a …

ps: 查看elf文件使用了哪些庫(kù),可以使用readelf -d ./xx來查看

之前本節(jié)教程使用的是庫(kù)查找方法是link_directories,但是很多讀者反映運(yùn)行時(shí)有問題,本人去官方文檔上查了下,發(fā)現(xiàn)不建議使用了,推薦使用find_library或者find_package

《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的Linux下CMake简明教程(七)对库进行链接的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 丰满人妻av一区二区三区 | 欧美性色网站 | 亚洲色图50p| 国产精品性爱在线 | 天天操天天操天天操天天操天天操 | 国产资源在线免费观看 | 曰本丰满熟妇xxxx性 | 日韩av在线播放不卡 | 日韩欧美中文字幕在线视频 | 99视频在线免费 | 韩国一区二区三区在线观看 | 亚洲av片在线观看 | 三级网站免费看 | 黄色喷水视频 | 九一爱爱| 在线看黄网址 | 欧美大片免费高清观看 | 国产黑丝91 | 香蕉视频色 | 亚洲国产av一区 | 欧美人与物videos另类 | 日韩激情四射 | 美女视频黄色在线观看 | 久久丫丫 | 91成人免费网站 | 国内自拍一区 | 国产男女无遮挡猛进猛出 | 91桃色污| 免费看a毛片 | 日韩欧美一区二区三区四区五区 | 岛国av免费在线观看 | 亚洲熟女www一区二区三区 | 免费91视频 | 夜夜爽av福利精品导航 | 成人av在线资源 | 亚洲精品一区二区三区婷婷月 | 欧美精品色呦呦 | 久草久草久草 | 91一区视频 | 亚洲香蕉久久 | 欧美mv日韩mv国产网站app | 成人h动漫精品一区 | 中文字幕日本一区二区 | 亚洲精华国产精华精华液网站 | yw在线观看 | 特黄网站| 美女二区| 国产激情文学 | 乱子伦视频在线看 | 国产精品久久久久无码av | 欧美在线视频观看 | h小视频在线观看 | 国产精品久久久久99 | 亚洲精品无码久久久久久久 | 国产乱码精品一区二区三 | 日韩高清中文字幕 | 国产成人精品999在线观看 | 欧美干干干| 日韩在线不卡 | 韩国av一区二区三区 | 欧美aⅴ在线观看 | 福利在线免费视频 | 毛片毛片毛片毛片毛片毛片毛片毛片毛片 | 午夜精品一区二区三区在线视频 | 黄色理伦片 | 青青草国产成人av片免费 | 疯狂做受xxxx高潮人妖 | 国产探花在线精品一区二区 | 久久国产精品国产精品 | 琪琪伦伦影院理论片 | 在线观看亚洲a | 免费看成人av | 天天夜夜骑 | 亚洲欧美黄 | 欧美激情五月 | 久久精品视频2 | 久久夜色精品国产噜噜亚洲av | 稀缺呦国内精品呦 | 国产一区久久久 | www.成人| 日韩欧美视频免费观看 | 在线看片中文字幕 | 久久精品欧美视频 | 99精品视频国产 | 91精品国产91久久久久久黑人 | 欧美激情国产在线 | 男女啪啪软件 | 最新av观看 | 天堂资源地址在线 | 91成人在线视频 | 久久精品5 | www.久久综合 | 亚洲性图av| 日本伦理片在线看 | 用力抵着尿进去了h | 日韩免费网站 | 色wwwwww| 九九热免费 | 久久精品欧美一区二区三区不卡 |