cmake編譯基本知識

2021-09-18 03:45:28 字數 1083 閱讀 1681

一、在終端內編譯:

需要首先簡單介紹cmakelists的命令列:

例:#宣告要求的 cmake 最低版本

cmake_minimum_required(version 2.8 )

#宣告乙個 cmake 工程

project(helloslam )

#設定編譯模式

set(cmake_build_type "debug" )

#新增乙個可執行程式

#語法:add_executable( 程式名源**檔案 )

add_executable(helloslam helloslam.cpp )

#新增乙個庫

add_library(hello libhelloslam.cpp )

#共享庫

add_library(hello_shared shared libhelloslam.cpp )

add_executable(usehello usehello.cpp )

#將庫檔案鏈結到可執行程式上

target_link_libraries(usehello hello_shared )

下面是在終端內常用的編譯指令:

例:# 進入到cmakelists.txt 所在的目錄

cd [path-to-project]

# 在cmakelists.txt 所在目錄下新建名為build的子目錄

mkdir build

# 進入到build

cd build

# 使用cmake執行上一層的cmakelists.txt(後面有兩個..因此為上一級目錄,同一目錄下為cmake . )  注意cmake 與後面的.中間有一空格

cmake ..

make

生成可執行檔案後,用"sh"來執行檔案,或者"./"

比如你在/usr/temp資料夾中有乙個可執行檔案"flash"

你可以在終端中輸入 sh /usr/temp/flash

或者進入資料夾 cd /usr/temp 然後執行: ./flash

如果編譯的是庫檔案,例如pangolin、opencv的話,編譯生成的是安裝包,使用以下命令安裝:

Oracle 基本知識

乙個表空間只能屬於乙個資料庫 每個資料庫最少有乙個控制檔案 建議3個,分別放在不同的磁碟上 每個資料庫最少有乙個表空間 system表空間 建立system表空間的目的是盡量將目的相同的表存放在一起,以提高使用效率,只應存放資料字典 每個資料庫最少有兩個聯機日誌組,每組最少乙個聯機日誌檔案 乙個資料...

Oracle 基本知識

乙個表空間只能屬於乙個資料庫 每個資料庫最少有乙個控制檔案 建議3個,分別放在不同的磁碟上 每個資料庫最少有乙個表空間 system表空間 建立system表空間的目的是盡量將目的相同的表存放在一起,以提高使用效率 每個資料庫最少有兩個聯機日誌檔案 乙個資料檔案只能屬於乙個表空間 乙個資料檔案一旦被...

Oracle 基本知識

oracle 文章摘要 oracle 基本知識。正文 oracle 基本知識 乙個表空間只能屬於乙個資料庫 每個資料庫最少有乙個控制檔案 建議3個,分別放在不同的磁碟上 每個資料庫最少有乙個表空間 system表空間 建立system表空間的目的是盡量將目的相同的表存放在一起,以提高使用效率 每個資...