我們將會使用__Cmake__為我們之後使用的建構系統,因為這在C++當中最為流行。而且發展也最為快。先放圖吧。
建構系統最大用處是將外部Library連結到你的專案裡。當然你可能會問,為什麼Python,rust,go等等都不需要?第一,因為C++是一個比較老的語言。第二,其實Cmake的兼容性在各大IDE和C++ libraries當中是最好的。另外,其實rust
和go
都有自己的build system
,例如rust
用toml
寫的,go
用go mods
,dart
用yaml
這樣,但是他們的自動生成能力比較準確。你在學完Cmake之後再看其他語言的Build system,你會發覺都差不多一樣。
你可以用以下這些辦法安裝
CmakeList.txt
# 這是使用的Cmake版本,這裡是3.1 - 3.15,可以支援>=11版本的C++
cmake_minimum_requied(VERSION 3.1...3.15)
# 你的專案名字 版本 編程語言(CXX是C++)
project(MyFirstCmake VERSION 1.0 CXX)
# 如果你在同一個目錄有其他的.hpp .cpp可以這樣加進去
# 庫名字 庫.cpp 庫.hpp
add_library(MyLib myLib.cpp myLib.hpp)
# 可執行檔名字 主檔名字
add_executable(MyExample simple_example.cpp)
# 可執行檔名字 私人 連結庫名字
target_link_libraries(MyExample PRIVATE MyLibExample)
# 我們用的C++是 17版本的
target_compile_features(myTarget PUBLIC cxx_std_17)
set_target_properties(myTarget PROPERTIES CXX_EXTENSIONS OFF)
Cmakelist.txt
那好了,寫好了C++ 編譯文件,應該怎麼運行呢?
在你的專案目錄,就是你放C++文件的地方,打開terminal(在VScode/Sublimetext裡面打開會更容易)
cmake -S . -B build
cmake --build build
./build/main
然後你應該會看到
你好邦友
你好邦友,我是C++庫
這樣的結果。
然後呢,然後今天就完了....