2015-01-13

Mac 解決編譯 Arduino 程式出現的 Robot_Control 錯誤

這是廣告


阿舍之前都是在 Ubuntu 或是 Raspberry Pi 上編譯 Arduino 的程式比較多,幾乎沒在 Mac 上編過 Arduino 的程式,而今天,懶的去開 Raspberry Pi 來用,所以,就把 Arduino Uno 板直接插在 Mac 上,準備在 Mac 上編譯好程式就直接上傳到 Arduino Uno 板來用,但是,運氣不錯,一開始 Build 之後,就跳出一堆 Robot_Control 程式庫的錯誤訊息 ... 可是,阿舍明明就沒引用到這個 Robot_Control 程式庫哩 ! ... 有點怪 ~~

只有用到某些 Library 時才會遇到 

阿舍這次寫的 Arduino 程式,除了 Wire 程式庫以外,還了一個藍牙用的 SoftwareSerial 程式庫,阿舍不記得上次引用這個 SoftwareSerial 程式庫的時候,會用到 Robot_Control 程式庫哩 ! ... 阿舍想了一下,想到說,是不是阿舍有把 Arduino IDE 的環境設成是用 Arduino Robot Control  這塊板子,於是,就檢查了一下,結果,就還是 Arduino Uno 沒錯哩 ! 

好吧 ! 只能去找找看,是不是有人和阿舍遇到相同的問題哩 ! ...  嗯 ...  果然 ! 阿舍並不孤單,不是只有阿舍遇到哩 ! 而且,好像是 Mac 比較會有這個問題哩 ! ... 原來,這個問題因為程式庫引用順序所造成,阿舍用到的 Wire 程式庫的讀取順序是在 Robot_Control 的後面,因此,才會先讀到 Robot_Control 就出問題了哩  !

這個... 應該算是 Arduino 1.0.5 版的編譯器的一個 Bug 吧 ! 解決方有二種,第一種就是降版到  Arduino IDE 1.0.4 或是升版到 Arduino 1.5.x 版哩 ! 而第二種,就比較簡單,就是去把 Arduino.App 展開,然後,到裡面的 Contents/Resources/Java/Libraries 資料夾下,把「Robot_Control」和「Robot_Motor」這二個資料夾給移除 ( 一定要移除或搬走,改名字沒有用,阿舍有試過了哩 ! ... )

阿舍很確定自己不會用到「Robot_Control」和「Robot_Motor」這二個程式庫,所以,阿舍就選第二種方式,把那二個資料夾刪除,再把之前編譯時所建立的 .build 資料夾給砍掉後,重新編譯就可以正

問題還是沒解決嗎 ?? 這裡有更多的 Ubuntu 相關教學可以參考哩 ...
買本阿舍寫的電子書帶走 - Ubuntu 指令新手馬上會用到的 35 個技法


關於阿舍

好文不藏私,請多分享囉!! ^^=

沒有留言 :