MATLAB Code Generation 原始碼建置靜態函式庫
利用 MATLAB Code Generation 生成的原始碼建置靜態函式庫,本專案以建置 Kinova Gen3 相關函式為例,也可推廣至其他函式庫。
MATLAB 版本: 2021a
使用方法
- Kinova Gen3 機械手臂相關 matlab 原始碼存放於
matlab
資料夾,包含**學、動力學等 - 使用 MATLAB code generation 產生 c++ 形式的
source code
- 將 MATLAB 工作資料夾下的
codegen/lib/<package>
直接放置於本專案lib
資料夾中 - 執行事前準備工作
上述命令會包含以下動作:
$ bash scripts/preparation.sh
- 只保留
<package>
資料夾中的*.h
與*.cpp
- 修改
<package>
資料夾中的rtwtypes.h
- #include "tmwtypes.h" + #include "../tmwtypes.h"
<package>
資料夾中新增Makefile
檔案
- 只保留
- 打包所有
<package>
資料夾成一靜態函式庫lib<static libary name>.a
$ make LIBARY_NAME=<static libary name>
- 預設名稱
libKinovaGen3Model.a
- 預設名稱
- 建置特定
<package>
資料夾之靜態函式庫lib<package>.a
$ make exclude
- 解決 MATLAB 於不同資料夾使用相同名稱之方法,造成 multiple defined 的問題
- 若需要單獨製作成靜態函式庫的
<package>
資料夾,請將<package>
名稱填於本專案目錄下Makefile
中的MODULE_IGNORED_DIR
變數
- 獨立建置所有
<package>
資料夾之靜態函式庫lib<directory name>.a
$ make all
- 清除編譯暫存檔
$ make clean
- 標頭檔
KinovaGen3Model.h
可視情況自行新增程式碼,內容通常如<package>/<package>.h
所示