PHP版谷歌驗證(Google Authenticator)
阿新 • • 發佈:2022-03-24
目錄
指定庫檔案輸出路徑
在指定目錄下查詢指定庫,並把庫的絕對路徑存放到變數裡,其第一個引數是變數名稱,第二個引數是庫名稱,第三個引數是HINTS,第4個引數是路徑,其它用法可以參考cmake文件
1、從一個專案目錄說起
.
├── bin
├── build
├── CMakeLists.txt
├── include
│ ├── testFunc1.h
│ └── testFunc.h
└── src
├── main.c
├── testFunc1.c
└── testFunc.c
我們不必關心目錄中的檔案的功能,我們只看看CMakeLists.txt中的內容.
cmake_minimum_required (VERSION 2.8) # 設定執行本專案所需要的cmake最小版本號 project (demo) # 設定專案名稱 set (EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) # 設定可執行檔案的輸出目錄 aux_source_directory (src SRC_LIST) # 設定STC_LIST變數為src目錄下所有檔案 include_directories (include) #設定指定包含標頭檔案的目錄 add_executable (main ${SRC_LIST}) # 最終可執行檔案的名字main.ext,依賴的所有檔案
2、cmake其他命令
add_subdirectory (src)
,這個命令可以向當前工程新增存放原始檔的子目錄,並可以指定中間二進位制和目標二進位制的存放位置,具體用法可以百度。
這裡指定src目錄下存放了原始檔,當執行cmake時,就會進入src目錄下去找src目錄下的CMakeLists.txt,所以在src目錄下也建立一個CMakeLists.txt,內容如下,
add_library (testFunc_shared SHARED ${SRC_LIST})
生成動態庫或靜態庫(第1個引數指定庫的名字;第2個引數決定是動態還是靜態,如果沒有就預設靜態;第3個引數指定生成庫的原始檔)
set (LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)
option(MYDEBUG "enable debug compilation" OFF)
其第一個引數是這個option的名字,第二個引數是字串,用來描述這個option是來幹嘛的,第三個是option的值,ON或OFF,也可以不寫,不寫就是預設OFF。
add_compile_options(-std=c++11 -Wall)
新增編譯選項
set(SRC main.c test.c xx.c xxx.c)
設定變數SRC為後面指定的檔案
find_library(TESTFUNC_LIB testFunc HINTS ${PROJECT_SOURCE_DIR}/testFunc/lib)
target_link_libraries (main ${TESTFUNC_LIB})
把目標檔案與庫檔案進行連結