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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

cmake 从入门到入土

發布時間:2024/3/26 编程问答 60 豆豆
生活随笔 收集整理的這篇文章主要介紹了 cmake 从入门到入土 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

為什么需要CMake

你或許聽過好幾種 Make 工具,例如 :

  • GNU Make
  • QT 的 qmake
  • 微軟的 MS nmake
  • BSD Make(pmake)Makepp

這些 Make 工具遵循著不同的規范和標準,所執行的 Makefile 格式也千差萬別。這樣就帶來了一個嚴峻的問題:如果軟件想跨平臺,必須要保證能夠在不同平臺編譯而如果使用上面的 Make 工具,就得為每一種標準寫一次 Makefile ,這將是一件讓人抓狂的工作。

CMake就是針對上面問題所設計的工具:它首先允許開發者編寫一種平臺無關的 CMakeList.txt 文件來定制整個編譯流程,然后再根據目標用戶的平臺進一步生成所需的本地化 Makefile 和工程文件,如 Unix 的 Makefile 或 Windows 的 Visual Studio 工程。從而做到“Write once, run everywhere”。

CMake是什么

CMake 是一個跨平臺的安裝(編譯)工具,可以用簡單、統一的語句來描述所有平臺的安裝或編譯過程。能夠輸出不同編譯器的 makefile 或 project 文件。

CMake 使用 CMakeLists.txt文件作為項目組織文件,CMake 并非跨平臺編譯工具,而是項目構建工具,可以在不同的平臺上根據構建參數生成工程項目,例如 Windows 平臺下可以構建 Visual Studio 工程 或 NMake 工程,可選指定 Visual Studio 的版本;在 Unix 構建 Makefile 工程 。

CMake的優勢

  • 開放源代碼,使用 BSD 許可證發布
  • 跨平臺,可以生成 native 編譯配置文件。在 linux/unix 平臺可以生成 makefile,在 mac 平臺可以生成 xcode,在 windows 平臺可以生成 msvc 工程的配置文件,能夠管理大型項目
  • 簡化編譯構建過程和編譯過程,只需要 cmake + make 就可以
  • 高效率
  • 可擴展,可以為 cmake 編寫特定功能的模塊,擴充 cmake 功能

cmake系列目錄

  • cmake:centos、win中安裝cmake(基礎)

  • cmake:Hello cmake(上)

  • cmake:同一目錄下多個源文件(中)

  • cmake:不同目錄下多個源文件(下)

  • cmake:定義并打印某個消息

  • cmake:add_library生成靜態庫和動態庫

  • cmake:生成動態鏈接庫并使用

  • cmake:make install安裝項目

  • cmake:find_package 添加第三方依賴庫

  • cmake:pkg_check_modules

  • cmake:檢查當前是什么操作系統(CMAKE_SYSTEM_NAME)

  • cmake:設置C++標準

  • cmake:設置編譯選項

  • cmake:project指定C/C++混合編程

  • cmake:pkg_check_modules

  • cmake:add_definitions定義的變量可以直接在程序中使用

  • cmake:在 CMake 生成的 VS2015 工程中保持源碼文件的目錄組織

  • cmake:切換生成器

  • cmake:CMakeList鏈接mysql出現/usr/bin/ld: 找不到 -lmysqlclient

  • cmake:解決c++11的phread庫問題:undefined reference to `pthread_create’

  • cmake:cl is not a full path and was not found in the PATH.

  • cmake:Invalid escape sequence \U

  • automake:hello automake

  • 編譯工具:makefile、autoconf、automake、libtool的關系

參考

  • cmake官方文檔
  • cmake官方入門教程
  • cmake:設置編譯選項的講究(add_compile_options和CMAKE_CXX_FLAGS的區別)
  • Cmake語句find_package()函數
  • CMake快速入門教程:實戰
  • “輕松搞定CMake”系列博客概述
  • 現代cmake語法學習
  • Linux下CMake簡明教程
  • CMake學習資源匯總
  • 等待研究
  • 其他教程

總結

以上是生活随笔為你收集整理的cmake 从入门到入土的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。