STM32CubeIDE Lib生成與應用
前言
有時必須给别人自己的code應用,但是又不想直接给C源碼,這時候就可以把某些機密 .c 文件編譯成 .lib 文件给别人用,但如何使用cubeIDE把project編譯成lib?這邊就會教學如何使用cubeIDE編輯lib和如何應用lib(因部分lib引用會出現不可預期錯誤)
STM32CubeIDE 如何能生成 Lib?
這邊會有2種方把可以生成Lib
- Project setup:在創建檔案時就先設定
- 在專案屬性上設定
這邊先來看到第一個設定,可以直接在生成專案選擇靜態lib
第二種是在專案屬性上更改設定
默認生成的是以lib开头,並以.a為名的文件。
可以把圖中的a改成lib,並最下面的lib删除,這樣生成的檔案,就是的TEST_STM32F103CBT6.lib的形式
STM32Cube IDE使用lib、a文件方法
在使用STM32Cube IDE,如果需要使用别人寫好的.lib或者.a,直接將文件的路徑包含進去並不能正常使用,在編譯會報錯誤“ undefined reference to `XXXXX’”
就可以照下面幾步驟正常引用
- lib加入到目錄,路徑不能有中文;
- 配置文件路徑
- 將静態lib添加到C Linker中;
注意!不要在下圖所示位置加入lib路徑:
在官方文件中其實有有提到如何引用(P87~P89)