最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

從零開(kāi)始詳細(xì)介紹CMake

2022-04-25 20:25 作者:Kaiser小弟  | 我要投稿

第一講:

cmake是什么:

多人使用不同的編程語(yǔ)言(相同),開(kāi)發(fā)同一個(gè)項(xiàng)目,最終輸出可知性文件/共享庫(kù)-》cmake

操作通過(guò)cmakelist完成的。

為了處理大型c/cpp/java項(xiàng)目準(zhǔn)備。

第二講:cmake helloeworld編譯

  1. 寫一個(gè)helloworld文件
  2. 寫一個(gè)cmakelist
  3. 編譯
  4. cmake .
  5. make
  6. 生成可執(zhí)行文件

第三講:cmakelist語(yǔ)法介紹

  1. project關(guān)鍵字:工程名字和支持語(yǔ)言
  2. project (HELLO CXX/JAVA)
  3. project_binary_dir
  4. project_source_dir
  5. set關(guān)鍵字
  6. 顯示指定變量/設(shè)置變量
  7. message
  8. 終端輸出用戶自定義信息
  9. send_error
  10. status
  11. fatal_error
  12. add_executable
  13. 生成可知性文件
  14. add(hello $(SRC_LIST})
  15. 工程名字和可執(zhí)行文件沒(méi)有關(guān)系
  16. 語(yǔ)法基本原則
  17. ${}讀取變量
  18. 參數(shù)之間通過(guò)分好或者空格分割
  19. 指令部分大小寫,參數(shù)和變量區(qū)分大小寫
  20. main.cpp可加“”可不加“”
  21. ADD_EXE中文件名可以不加后綴

第四講:內(nèi)部構(gòu)建和外部構(gòu)建

  1. 內(nèi)部構(gòu)建產(chǎn)生臨時(shí)文件;外部構(gòu)建放在build里面
  2. 建立build dir
  3. 進(jìn)入build
  4. cmake ..
  5. binary_dir /build; source_dir: 原始文件夾
  6. ;build:make

第五講:helloworld看起來(lái)like工程

  1. 添加src目錄,存放源代碼;doc文檔;runhello.sh; 目標(biāo)文件bin;
  2. 目標(biāo)文件放入bin
  3. 每一個(gè)目錄下買年都要有cmakelist
  4. src touch cmakelist
  5. 先寫工程目錄的cmakelist
  6. PROJECT(HELLO)
  7. 關(guān)聯(lián)起來(lái):
  8. ADD——SUBDIR(src bin)(生成文件放入bin)
  9. 寫src cmakelist
  10. add_executable(hello main.cpp)
  11. 更改二進(jìn)制到bin
  12. camke ..(build)
  13. make
  14. 生成hello,生成bin(build),可知性文件在bin
  15. add_subdir:告訴smkae還有一個(gè)目錄,

第六講:安裝helloworld

  1. make install
  2. make install 指定目錄
  3. 二進(jìn)制,動(dòng)態(tài)庫(kù),靜態(tài)庫(kù)。。。
  4. 建立copyright
  5. 建立 doc
  6. doc:hello.txt
  7. 工程目錄:readme
  8. 建立runhello.sh
  9. 安裝文件copuriht readme
  10. 編譯工程;cmakelist
  11. install(files copyright readme destination path) (最前面調(diào)用cmake install prefix, usr/local/share/doc/cmake/
  12. 安裝腳本
  13. programs:非目標(biāo)的可執(zhí)行程序的安裝
  14. install(programs runhello.sh destination bin) (usr/local/bin)
  15. 安裝目錄
  16. install(directory doc/(目錄下的內(nèi)容) destination share/loc/cmake)
  17. cd build; amke ..
  18. make; ./bin/hello!
  19. 安裝:make install

第七講:靜態(tài)庫(kù)和動(dòng)態(tài)庫(kù)的構(gòu)建

  1. 靜態(tài)庫(kù):.a, .lib;動(dòng)態(tài)庫(kù):.so,.dll
  2. 靜態(tài)庫(kù):直接整合到程序,動(dòng)態(tài)庫(kù):編譯時(shí)不放到程序中,運(yùn)行時(shí)加載
  3. 任務(wù)1. 建立靜態(tài)庫(kù)和動(dòng)態(tài)庫(kù)
  4. 任務(wù)2:安裝頭文件和共享庫(kù)
  5. 建立build;建立cmakelist;建立lib;進(jìn)入lib
  6. 建立cmakelist;建立hello.cpp; touch hello.h;
  7. 項(xiàng)目cmakelist:
  8. project (hello)
  9. add_subdir(lib bin)
  10. cd lib;
  11. cmakelist:
  12. set (libhello_src hello.cpp)
  13. add_lib(hello shared/static ${libhello_src}) (沒(méi)有hello.h,共享庫(kù)名字libhello.so)
  14. cd build; cmake.. make; cd bin; -> libhello.so

第八講:同時(shí)構(gòu)建static和dynamic

  1. 名字一樣指揮構(gòu)建動(dòng)態(tài)庫(kù),不會(huì)靜態(tài)庫(kù)(名字不一樣可以)
  2. set_target_projecties
  3. 設(shè)置輸出名字
  4. 安裝共享庫(kù)和頭文件
  5. lib有頭文件:安裝頭文件
  6. install (files helloh diest include/hello)
  7. install (targets hello hello_staic libraty(動(dòng)態(tài)庫(kù)關(guān)鍵字) destination lib archive desitaion lib)(相對(duì)路徑)
  8. 默認(rèn)/usr:
  9. cmake -DCMAKE_PREFIX=/usr ..
  10. make
  11. make install

第九講:如何使用共享庫(kù)和頭文件

  1. mkdir build touch Cmakelist; make drc; cd src
  2. touch cmakelist; cd ..
  3. cd src; vim main.cpp; cd ..
  4. vim CMkalist
  5. project (hello)
  6. add_subdirrector(src bin)
  7. cd src; bim cmakelist
  8. add_executable(hello main.cpp)
  9. cd .. cd build cmake ..; make;
  10. include_directories(/usr/include/hello)(src cmakelist)
  11. link_directories/target_link_libraries

從零開(kāi)始詳細(xì)介紹CMake的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
吴川市| 德阳市| 井研县| 舒城县| 莎车县| 西峡县| 北京市| 当涂县| 丹寨县| 额济纳旗| 平武县| 石嘴山市| 中阳县| 建阳市| 阳江市| 壶关县| 大丰市| 铁岭市| 来安县| 丹江口市| 芒康县| 花莲市| 红桥区| 镶黄旗| 盘锦市| 磴口县| 汪清县| 二连浩特市| 类乌齐县| 安龙县| 汕尾市| 琼海市| 宝丰县| 慈溪市| 邯郸县| 和硕县| 吉隆县| 许昌市| 白山市| 周至县| 曲阜市|