cmake教程linux
A. linux cmake後怎麼調試
1.安裝gcc等必備程序包,在cmake安裝包的網站中選擇binarydistribution下的linuxx86_64下的cmake-3.6.0-Linux-x8664.tar.gz壓縮包,點擊,下載。默認下載到了home/DOWNLOAD2.把下載好的包復制到指定路徑,比如/home/bnu,在當前文件夾中打開終端,輸入3.tarzxvfcmake-3.6.0-Linux-x8664.tar.gz在該目錄下多了一個解壓後的文件夾4.打開新的終端,./bootstrapmakemakeinstall5.此時會打開一個文件/root/.bashrc,找到exportPATH=這些行,在這些行的下面另外添加一行,從而設置環境變數exportPATH=$PATH:/home/bnu/cmake-3.6.0-Linux-x8664/bin輸入完畢保存6.查看版本,測試是否安裝成功:打開終端,輸入cmake--version結果是:cmakeversion3.6.0(安裝cmake成功!)要知道,在根目錄下安裝cmake,那麼不同用戶都可以共享使用這個cmake.
B. linux下怎麼安裝cmake
1.安裝gcc等必備程序包,在cmake安裝包的網站中選擇binary distribution下的linux x86_64下的cmake-3.6.0-Linux-x86 64.tar.gz壓縮包,點擊,下載。默認下載到了home/DOWNLOAD
2.把下載好的包復制到指定路徑,比如/home/bnu,在當前文件夾中打開終端,輸入
3.tar zxvf cmake-3.6.0-Linux-x86 64.tar.gz 在該目錄下多了一個解壓後的文件夾
4.打開新的終端,
./bootstrap
make
make
install
5.此時會打開一個文件/root/.bashrc,找到export PATH=這些行,在這些行的下面另外添加一行,從而設置環境變數
export PATH=$PATH:/home/bnu/cmake-3.6.0-Linux-x86 64/bin
輸入完畢保存
6.查看版本,測試是否安裝成功:打開終端,輸入
cmake --version
結果是:cmake version 3.6.0(安裝cmake成功!)
要知道,在根目錄下安裝cmake,那麼不同用戶都可以共享使用這個cmake.
C. 關於在Linux下執行cmake後再執行make的問題
應該是你的linux內核版本太低,不支持eventfd。
eventfd() is available on Linux since kernel 2.6.22.
D. linux裡面安裝的cmake 軟體到底是干什麼用的啊
CMake是一個跨平台的安裝(編譯)工具,可以用簡單的語句來描述所有平台的安裝(編譯過程)。他能夠輸出各種各樣的makefile或者project文件,能測試編譯器所支持的C++特性,類似UNIX下的automake。只是
CMake
的組態檔取名為
CmakeLists.txt。Cmake
並不直接建構出最終的軟體,而是產生標準的建構檔(如
Unix
的
Makefile
或
Windows
Visual
C++
的
projects/workspaces),然後再依一般的建構方式使用。這使得熟悉某個集成開發環境(IDE)的開發者可以用標準的方式建構他的軟體,這種可以使用各平台的原生建構系統的能力是
CMake
和
SCons
等其他類似系統的區別之處。
CMake
可以編譯源代碼、製作程式庫、產生適配器(wrapper)、還可以用任意的順序建構執行檔。CMake
支持
in-place
建構(二進檔和源代碼在同一個目錄樹中)和
out-of-place
建構(二進檔在別的目錄里),因此可以很容易從同一個源代碼目錄樹中建構出多個二進檔。CMake
也支持靜態與動態程式庫的建構。
「CMake」這個名字是「cross
platform
make」的縮寫。雖然名字中含有「make」,但是CMake和Unix上常見的「make」系統是分開的,而且更為高階。
E. Linux下面cmake命令意義cmake -D CMAKE_BUILD_TYPE=RELEASE
"怎麼知道在源代碼目錄中編譯的呢?" 這個是因為後邊的那 .. 的緣故, .. 表示上層目錄. 那.. 就是<path to the OpenCV source directory>
-D 相當於就是定義, -D 可以理解為告訴cmake 後邊我要定義一些參數了, 你每定義一個就在前邊加上-D就是了
CMAKE_BUILD_TYPE 這種東西往往是在CMakeList.txt 中定義的, 這個是你要編譯的類型, 一般的選擇有debug,release, 但是不確定
CMAKE_INSTALL_PREFIX 這個是安裝路徑.
F. 如何在Linux下安裝cmake-gui
OpenCV 2.2以後的版本需要使用Cmake生成makefile文件,因此需要先安裝cmake;還有其它一些軟體都需要先安裝cmake
1.在linux環境下打開網頁瀏覽器,輸入網址:http://www.cmake.org/cmake/resources/software.html,找到最新版本的位置。一般開放源代碼軟體都會有兩個版本發布:Source Distribution 和 Binary Distribution,前者是源代碼版,你需要自己編譯成可執行軟體。後者是已經編譯好的可執行版,直接可以拿來用的。
2.在linux環境下打開終端,輸入:
getconf LONG_BIT
如果結果是64表示該系統是linux64位的,如果結果是32則表示系統是linux32位。
3.我現在所用的這台是64位,因此在cmake安裝包的網站中選擇binary distribution下的linux x86_64下的cmake-3.6.0-Linux-x86 64.tar.gz壓縮包,點擊,下載。默認下載到了home/DOWNLOAD
4.把下載好的包復制到指定路徑,比如/home/bnu,在當前文件夾中打開終端,輸入
tar zxvf cmake-3.6.0-Linux-x86 64.tar.gz
在該目錄下多了一個解壓後的文件夾
5.打開新的終端,輸入
該bashrc文件不用提前建立,路徑也根據自己的情況改變,我定的路徑與解壓後的cmake包路徑是一致的
6.此時會打開一個文件,找到export PATH=這些行,在這些行的下面另外添加一行,從而設置環境變數
export PATH=$PATH:/home/bnu/cmake-3.6.0-Linux-x86 64/bin
輸入完畢保存
7.查看版本,測試是否安裝成功:打開終端,輸入
cmake --version
結果是:cmake version 3.6.0(安裝cmake成功!)
G. linux cmakelist 怎麼用
由於調試需要因此研究了一下cmake這個誇平台的編譯工具的使用方法.
1.本人的機器為ubuntu 10.04,在連網的情況下直接在終端輸入:
[cpp] view plain 在CODE上查看代碼片派生到我的代碼片
root@zsh-linux:~#apt-get install cmake
安裝完畢之後可以在/var/cache/apt/archives看到安裝的.deb文件
或者在cmake官網下載cmake for linux
此時有個注意點是建議下載 cmake-2.8.4.tar.gz 而不是
cmake-2.8.4-Linux-i386.tar.gz
下載完成後解壓
[cpp] view plain 在CODE上查看代碼片派生到我的代碼片
root@zsh-linux:/opt#tar -zxvf cmake-2.8.4.tar.gz
然後 cd 到cmake-2.8.4目錄下
root@zsh-linux:/opt/cmake-2.8.4#
root@zsh-linux:/opt/cmake-2.8.4# ./bootstrap
root@zsh-linux:/opt/cmake-2.8.4# make
root@zsh-linux:/opt/cmake-2.8.4# make install
安裝完畢後查看是否安裝成功:
root@zsh-linux:/opt/cmake-2.8.4# cmake --version
cmake version 2.8.4
有以上信息表示安裝cmake成功。
2.cmake 的使用
(1)創建一個工程目錄文件夾,然後創建一個hello.c
[cpp] view plain 在CODE上查看代碼片派生到我的代碼片
#include<stdio.h>
int main()
{
printf(「hello,this is my first using cmake project/n」);
return 0;
}
(2)然後創建一個build目錄(用於編譯生成的相應文件),與hello.c目錄同級
(3)編寫CMakeLists.txt內容如下:(於hello.c目錄同級)
[cpp] view plain 在CODE上查看代碼片派生到我的代碼片
cmake_minimum_required(VERSION 2.8)
PROJECT(cmake_test)
SET(SRC_LIST main.c)
INCLUDE_DIRECTORIES(/usr/include/glib)
MESSAGE(STATUS "This is BINARY dir "${HELLO_BINARY_DIR})
MESSAGE(STATUS "This is SOURCE dir "${HELLO_SOURCE_DIR})
ADD_EXECUTABLE(hello ${SRC_LIST})
(4)進入build目錄輸入 cmake ..
[cpp] view plain 在CODE上查看代碼片派生到我的代碼片
root@zsh-linux:/home/cmake_test/build# cmake ..
若編譯成功在build目錄下會生成相應文件,其中有個makefile文件
有可能會出現問題:
CMAKE_CXX_COMPILER-NOTFOUND" was not found
解決方法:
[cpp] view plain 在CODE上查看代碼片派生到我的代碼片
root@zsh-linux:/home/cmake_test/build# apt-get install g++
(可選)cmake -D CMAKE_CXX_COMPLIER=」g++」CMAKE -D CMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:PATH=」/usr/local」
(5)輸入make 命令執行成功後在build目錄下會看到可執行的hello
(6)./hello
輸出 hello,this is my first usingcmake project。
註:這只適用於簡單的工程,若復雜的工程項目請參考www.cmake.org
H. 如何寫cmakelist linux
這一章將從軟體開發者的角度來描述如何實用CMake。也就是說,如果你的目標是用CMake來管理你的生成過程,請閱讀這一章。 CMake的輸入 COMMAND(args) 這里的 COMMAND 是命令行的名稱,args是用空格分割的參數列表
I. Linux下gcc/g++,make和cmake的區別
gcc是一個C語言編譯器,g++是一個C++語言的編譯器,這是它們的主要區別,雖然說gcc也可以編譯C++代碼文件,但實際上是需要g++支持的,gcc編譯C++時是要調用g++的。
make是根據Makefile中定義的編譯規則來對多個源文件執行編譯命令,也就是說它是管理編譯規則的工具,並不實際編譯文件;而cmake則是可以生成Makefile文件的一個工具,實際上,cmake工具不僅可以生成Makefile,還可以生成Windows平台的VS等開發工具的dsp等工程文件,這樣管理項目就更方便了。