導航:首頁 > 源碼編譯 > 在linux上編譯cmake

在linux上編譯cmake

發布時間:2022-04-30 00:32:39

1. linux 源碼安裝 cmake 時 可選的參數有哪些

/configure就是執行你當前目錄下一個名叫configure的腳本,由它生成Makefile,有了Makefile之後,一般來說就可以通過make進行編譯,make install進行安裝
cmake就是一個與make同級別的編譯工具,只不過它依靠的不是Makefile作為編譯規則,而是根據CMakeLists.txt來編譯的。

2. 如何在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成功!)

3. 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 這個是安裝路徑.

4. 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」系統是分開的,而且更為高階。

5. 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

6. linux關於cmake的問題,請幫我看下這句有什麼問題

/configure就是執行你當前目錄下一個名叫configure的腳本,由它生成Makefile,有了Makefile之後,一般來說就可以通過make進行編譯,make install進行安裝 cmake就是一個與make同級別的編譯工具

7. linux下cmake編譯opencv 為什麼這么慢

是你的編譯器版本不對, You probably need to select a different build tool. 在點擊configure時,會出來一個選擇編譯器的框,你選一個你機器里有的編譯器就可以了。

8. linux怎麼本地編譯多文件cmake

不到這個文件 你確定去它指定的目錄找一下 如果真的是沒有的話從opencv的目錄中拷貝一個文件過來就可以了。

9. linux下才有CMake編譯websocket庫生成lib和bin

1、確定arm-linux-gcc裝好了,如下:
[root@localhost hello1]# arm-linux-gcc -v
Using built-in specs.
Target: arm-none-linux-gnueabi
Configured with: /scratch/julian/lite-respin/linux/src/gcc-4.3/configure --build=i686-pc-

10. Linux下gcc/g++,make和cmake的區別

gcc是一個C語言編譯器,g++是一個C++語言的編譯器,這是它們的主要區別,雖然說gcc也可以編譯C++代碼文件,但實際上是需要g++支持的,gcc編譯C++時是要調用g++的。
make是根據Makefile中定義的編譯規則來對多個源文件執行編譯命令,也就是說它是管理編譯規則的工具,並不實際編譯文件;而cmake則是可以生成Makefile文件的一個工具,實際上,cmake工具不僅可以生成Makefile,還可以生成Windows平台的VS等開發工具的dsp等工程文件,這樣管理項目就更方便了。

閱讀全文

與在linux上編譯cmake相關的資料

熱點內容
做庫管用什麼app 瀏覽:33
pdf轉dwg怎麼轉 瀏覽:53
單片機微小電阻測量 瀏覽:136
表格25兆怎麼壓縮 瀏覽:67
java開發公司的 瀏覽:129
東風天錦壓縮車工作指示燈不亮 瀏覽:983
劍俠情緣1源碼 瀏覽:530
cad2011怎麼轉換成pdf格式 瀏覽:964
傳祺gs5安卓車機如何還原車機 瀏覽:900
單片機和編程器互相傳輸數據 瀏覽:90
app訂單怎麼取消 瀏覽:467
程序員用雙顯示器有什麼作用 瀏覽:611
網約車演算法殺熟 瀏覽:6
卡薩帝用的什麼壓縮機 瀏覽:155
350乘20演算法 瀏覽:92
自助編程軟體app 瀏覽:438
伺服器如何看日活數 瀏覽:686
數控車床原理圖及編程 瀏覽:289
java文件流下載 瀏覽:340
編程工作工資多少 瀏覽:441