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
留言
張貼留言