![]() |
只有用到某些 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 個技法
沒有留言 :
張貼留言