Cmake (0) - 簡單 Project
1. 建立一個小專案:
建立一個小型 Cpp 專案如下:
. ├── CmakeLists.txt ├── build ├── include │ └── greet.hpp ├── lib │ └── greet.cpp └── src └── main.cpp
greet.hpp
#ifndef __HELLO_HPP__ #define __HELLO_HPP__ void greet(); #endif
greet.cpp
#include<iostream> using namespace std; void greet() { cout << "Hello from greet" << endl; }
main.cpp
#include<greet.hpp> int main() { greet(); }
2. 編寫 CmakeLists.txt:
Cmake 的語法滿直覺的,下面舉個簡單的例子:
project(HELLO) # 和 Cmake 的 feature 有關,建議不要太新或太舊 cmake_minimum_required(VERSION 3.12) # 編譯 share lib 命名為 greet add_library(greet SHARED lib/greet.cpp include/greet.hpp) # 加入 header 路徑 target_include_directories(greet PUBLIC include) # 編譯 executable 並使用 libgreet add_executable(main src/main.cpp) target_link_libraries(main PUBLIC greet)
3. 使用 Cmake 建立 makefile:
進入 build 資料夾輸入 "cmake ..",這樣 cmake 會將間接產生的檔案放在 build 中,cmake 後的 ".." 代表執行時的路徑。
$ cd build $ cmake ..
Cmake 執行後會在 build 資料夾產生 makefile,我們可以執行 "make" 指令進行編譯。編譯後的 executable 為 main。
$ make $ ./main
留言
張貼留言