【C++ 程式編譯 #1】C++ compile 程式碼 使用 c++ 11 與使用相關的 package

前言

C++ 並不像 Python 一樣屬於直譯式語言,
也就是說 C++ 的程式碼需要經過完整的 compile 才能完整的執行,
而 python 不用,想要執行一行就能執行一行。

這邊只單純整理一些比較基本的方式。

Sample Code

基本編譯

g++ test.cpp

預設編譯出來的 binary 執行檔名稱為 a.out
我們可以再使用以下指令執行他。

./a.out

修改編譯出來的檔名

如果不希望編譯出來的名稱為 「a.out」,
我們可以使用 「-o」這個指令,

g++ test.cpp -o test.out

這樣編譯出來的 binary 執行檔名稱就會變為 test.out 囉!

執行:

./test.out

使用 c++ 11 編譯

我們只需要增加 「-std=c++11」即可,
例如:

g++ -std=c++11 test.cpp -o test.out

這樣編譯出來的就會是 c++ 11 的版本囉!

使用套件,此處以 pkg-config 作為示範

例如在我們文章中經常使用的 opencv 套件,
我們會使用以下指令來進行編譯

g++ test.cpp -o test.out -std=c++11 `pkg-config --cflags --libs opencv` 

Reference

https://dywang.csie.cyut.edu.tw/moodle23/dywang/linuxProgram/node34.html
https://stackoverflow.com/questions/10363646/compiling-c11-with-g
https://blog.gtwang.org/programming/gcc-comipler-basic-tutorial-examples/