cmake 標準完整模板

2022-09-13 08:39:12 字數 2549 閱讀 5006

#cmake最低版本號要求

cmake_minimum_required(version 2.8)

#指定專案名稱

project(openailab_four_monitor)

#指定工程需要用到的一些庫

set(env /usr/local/aid/pkgconfig)

find_package(pkgconfig)

pkg_search_module(bladecv required bladecv)

pkg_search_module(gtk required gtk±3.0)

#find_package(pkgconfig)

#find_package(qt5 required widgets)

#find_package(qt5 required core)

#find_package(qt5 required gui)

#包含c++11特性

set(cmake_cxx_flags 「$ -std=c++11 -g」)

#指定版本資訊

set(cmake_system_version 1)

#若是需要指定編譯器路徑

#set(cross_toolchain_prefix 「/path/arm-linux-」)

#指定編譯器

#set(cmake_c_compiler 「katex parse error: expected 'eof', got '#' at position 31: …n_prefix}gcc") #̲set(cmake_cxx_c…g++」)

#使用預設路徑的g++指定編譯器

set(cmake_cxx_compiler 「g++」)

#指定編譯選項

set(cmake_build_type debug )

#指定編譯目錄

set(project_binary_dir $/build)

#新增子目錄,這樣進入原始碼檔案src目錄可以繼續構建

#add_subdirectory($/src)

#查詢當前目錄下的所有原始檔,

#並將名稱儲存到dir_lib_srcs目錄

#aux_source_directory(. dir_lib_srcs)

#指定頭檔案目錄,project_source_dir為工程的根目錄

include_directories(

$/include

/usr/local/aid$$

)#新增需要鏈結的庫檔案目錄

link_directories(

/usr/lib64/$$

)#新增編譯引數和橫定義

#option(use_bladecv 「bladecv」 on)

#if(use_bladecv)

#add_definitions(-dbladecv)

#endif()

#設定編譯選項(會將gcc g++全部加上)

#add_compile_options(-g -std=c++11)

add_compile_options(-fpic)

#指定可執行檔案的輸出目錄,輸出到bin下面

set(executable_output_path $/bin)

#生成動態庫

#add_library(shared_demo shared demo.cpp -lrtspclient -lrockchip_rga -lrockchip_mpp -ldrm -lpthread

#-lbcv -lgtk-3 -lrtspclient)

#設定庫輸出名為 shared => libshared.so

#set_target_properties(shared_demo properties output_name 「shared」)

#生成靜態庫

#add_library(static_demo static demo.cpp -lrtspclient -lrockchip_rga -lrockchip_mpp -ldrm -lpthread

#-lbcv -lgtk-3 -lrtspclient)

#設定輸庫出名為 static => libstatic.a

#set_target_properties(static_demo properties output_name 「static」)

#指定庫檔案輸出路徑

set(library_output_path $/lib)

#在指定目錄下查詢庫,並儲存在libpath變數中

#find_library(libpaths shared $/lib /usr/lib64)

#指定生成目標

add_executable(demo demo.cpp)

#鏈結共享庫

target_link_libraries(demo -lrtspclient -lrockchip_rga -lrockchip_mpp -ldrm -lpthread

-lbcv -lgtk-3 -lrtspclient $ $)

標準模板庫( ) 介紹標準模板庫

標準模板庫就是類與函式模板的大集合。stl共有6種元件 容器,容器介面卡,迭代器,演算法,函式物件和函式介面卡。1 容器 容器是用來儲存和組織其他物件的物件。stl容器類的模板在標準標頭檔案中定義。1 序列容器是上面圖中的前三類 容器的操作 2 deque容器 非常類似vector,且支援相同的操作...

cmake 和 makefile的模板

這篇主要是最近在用makefile和cmake。這玩意吧,就賊容易忘,我就默默寫一篇小短文記錄一下。就是放乙個模板,以後直接在模板上做改動。executable為目標的可執行檔名,可以根據具體的情況對其進行修改。executable test 修改隱含規則中巨集 cross compile usr ...

標準模板庫

c primer plus是乙個精心設計的,在今天的乙個最重要的和廣泛使用的程式語言的完整教程。乙個方便和易於使用的自學指南,這本書是適當的節目都認真的學生以及已經精通其他語言的開發人員。第六版c primer plus已更新和擴大覆蓋在c 的最新進展,包括新的c 11標準的詳細介紹。作家和教育家史...