embedXcode 找不到 Arduino 系統庫頭文件

在 Mac 上玩 Arduino,除了可以使用官方的那個簡單的 IDE 之外,還可以選擇使用 Xcode 來進行開發。

使用 embedXcode 外掛程式即可讓 Xcode 搖身一變成為嵌入式開發 IDE,包括了本地編譯、上傳等全套功能。

embedxcode插件讓 Xcode 支持嵌入式開發

embedxcode插件讓 Xcode 支持嵌入式開發

不過,在使用標準庫的時候就出了問題,比如上圖中,我在測試 nRF24L01 這個 SPI 模塊,需要用到 SPI.H 這個頭文件,一般的寫法就是: #include <spi.h中>

然而,這時候在 Xcode 中編譯的話,原本正常的代碼卻遇到了錯誤:

SPI.h 不能直接被 include

SPI.h 不能直接被 include

當然了,這時候如果去官方 IDE 編譯的話,是一切正常的,那麼問題就出在了 Xcode 上。

這裡我們先手動找到頭文件的位置,它位於官方 IDE 的程序文檔目錄裡:

如上所示,目錄比較深,官方自己的 IDE 自然沒問題,但對於 embedXcode 來說,就有點痛苦了——為了能支持所有的庫——它只把路徑引用到了 /圖書館/Arduino15//Arduino的/硬件/四月/1.6.11/圖書館 ,所以,引用的時候,要這麼寫: #include <SPI / src目錄/ spi.h中>

這樣,Xcode 就能夠識別了。

當然,這樣的話放到官方的 IDE 裡就又不行了,目前的話,反正 include 不多,手動改一下吧,如果多的話……用宏來定義吧。

更新,感謝 @rei_vilo ,其實在 embedXcode 中不應該直接引用需要的頭文件,而是應該把需要的系統庫放在你的編譯目錄,然後在 makefile 中修改對應的參數即可,比如對應我這個情況,那麼就應該在 makefile 中找到

APP_LIBS_LIST = 0 然後將它改成 APP_LIBS_LIST = SPI

這樣一來,IDE 會幫你做剩下的事情了。

延伸閱讀:

圖書館APP_LIBS_LIST和USER_LIBS_LIST變量

本文由 落格博客 原創撰寫:落格博客 » embedXcode 找不到 Arduino 系統庫頭文件

轉載請保留出處和原文鏈接:https://www.logcg.com/archives/1761.html

關於作者

R0uter

如非聲明,本人所著文章均為原創手打,轉載請註明本頁面鏈接和我的名字。

註釋

發表評論

您的電子郵件地址不會被公開. 必填字段標 *