項目 widget-area-1 尚未註冊或是沒有一個 view.php 檔案.
項目 widget-area-1 尚未註冊或是沒有一個 view.php 檔案.
項目 search-input 尚未註冊或是沒有一個 view.php 檔案.

【C++ 基礎語法 #10】C++ 透過 -I (大寫的 i) 使用第三方 library (third party library), 與 Python import package 的流程差別

前言

當我們有時候想要在 C++ 使用第三方套件的時候,我們需要下 -I (大寫的 i),
來幫助我們使用套件,

因為我是從 Python 學習過來的,
所以一開始的時候,對這一點非常的不習慣,

在 Python 的習慣的流程是先作類似 pip install 後,直接 import package 即可。(這邊講的是通常,並非全部)
而 C++ 在這部份並不相同。

這裡我們以我經常使用的 C++ OpenCV 與 C++ Tensorflow 為例子

C++ OpenCV

mac 安裝 OpenCV

  • mac 安裝 OpenCV,需要在終端機輸入以下指令
brew install opencv

C++ Tensorflow

step 1. git clone – 把 tensorflow 的 Library 下載下來

git clone https://github.com/tensorflow/tensorflow

step 2. 連同剛剛 git clone 的 repo,建立資料夾結構如下

因為檔案非常的多,這邊只舉部分的檔案作為例子

  • tensorflow
    • tensorflow
      • c
      • lite
    • third_party
  • test_tensor_flow.cpp (我們測試用的檔案)

step 3. 寫一些測試用的程式,以下舉個範例

#include <iostream>
#include "tensorflow/lite/core/c/common.h"

int main() {
  TfLiteTensor* tensor = nullptr;
  return 0;
}

step 4. compile cpp 檔案,使用 Tensorflow library,下 -I tensorflow (大寫的 i)

g++ test_simple_tensor.cpp -I tensorflow # uppercase i

其他的一些延伸問題

  • 比照上述路徑的方式不對
'tensorflow/lite/c/common.h' file not found
  • 需要使用 -I 的方式,IWYU 代表的是 include what you use 的縮寫,
    總之 include 方式錯誤,需要研究 -I 的方式怎麼用
#include "tensorflow/lite/core/c/c_api_types.h" // IWYU pragma: export

Reference

⭐C++ 基礎用法 相關文章整理⭐:
1.【C++】C++ compile 程式碼 使用 c++ 11 與使用相關的 package
2.【C++】C/C++ 顯示資料的類別 (type) sample code (內含範例程式碼) print C data type, cout C++ data type, get variable type in c++
3.【C++】C++ 複製 2D array的方法 copy 2d array memcpy sample code (內含範例程式碼)
⭐Modern C++ ⭐:
⭐C++ 字串處理相關文章整理⭐:
1.【C++】字串 char string stringstream 相關用法總整理 (內含範例程式碼) 與利用 sprinf, snprinf assign 值的方法
2.【C++】字串 char string stringstream 「轉換」用法總整理 (內含範例程式碼)
3.【C】printf, fprintf, sprintf, snprintf 相關用法總整理 (內含範例程式碼)
4.【C++】C++ String 用法 連接兩個 String c++ string concat
⭐C++ 系統偵測相關文章整理⭐:
1.【C++】C++ 利用 dirent.h 計算資料夾的檔案數量 count files sample code (內含範例程式碼)
2.【C++】C++ inotify sample code 偵測指定路徑底下的文件變化 (內有範例程式碼)
⭐C++ OpenCV 相關文章整理⭐:
1.【OpenCV】c++ OpenCV – 在 ubuntu 上第一次執行 OpenCV 程式 sample code (內含範例程式碼)
2.【OpenCV】c++ OpenCV - 在圖片上寫上文字 cv::putText sample code (內含範例程式碼)
3.【OpenCV】c++ OpenCV - cv::Rect 矩形用法與相關功能函數 sample code (內含範例程式碼)