http://www.seeedstudio.com/wiki/Music_Shield_V2.0
このサイトのライブラリ内のスケッチaddToListをそのまま使用しているのにエラーが出てしまいます。サンプルスケッチは以下の通り。
「
/*
* addToList.ino
* Example sketch for MusicShield 2.0
*
* Copyright (c) 2012 seeed technology inc.
* Website : www.seeed.cc
* Author : Jack Shao (jacky.shaoxg@gmail.com)
* Create Time: Mar 2014
* Change Log :
*
* The MIT License (MIT)
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#include <SD.h>
#include <SPI.h>
#include <arduino.h>
#include <MusicPlayer.h>
void setup(void)
{
Serial.begin(9600);
player.begin(); //will initialize the hardware and set default mode to be normal.
player.addToPlaylist("test.mp3");
}
void loop(void)
{
player.play(); //do some leisurely job
}
」
エラーメッセージは下記です。
「
/Arduino/libraries/Music_Shield-master/MusicPlayer.h:52:0: warning: "min" redefined [enabled by default]
#define min(a,b) (((a)<(b))?(a):(b))
^
/Arduino.app/Contents/Java/hardware/arduino/avr/cores/arduino/Arduino.h:84:0: note: this is the location of the previous definition
#define min(a,b) ((a)<(b)?(a):(b))
^
/addToList.ino:42:34: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
player.addToPlaylist("test.mp3");
^
/addToList/addToList.ino:43:34: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
player.addToPlaylist("test.wma");
^
In file included from error: 'playingstatetype playingState', declared using anonymous type, is used but never defined [-fpermissive]
extern playingstatetype playingState;
^
error: 'typedef volatile enum<anonymous> playingstatetype' does not refer to the unqualified type, so it is not used for linkage [-fpermissive]
} playingstatetype;
^
error: 'ctrlState_t ctrlState', declared using anonymous type, is used but never defined [-fpermissive]
extern ctrlState_t ctrlState;
^
error: 'typedef volatile enum<anonymous> ctrlState_t' does not refer to the unqualified type, so it is not used for linkage [-fpermissive]
} ctrlState_t;
^
exit status 1
コンパイル時にエラーが発生しました。
」
よろしくお願いします。
No.6ベストアンサー
- 回答日時:
>古いので開かなかったんでしょうか…?
XPの時代は、ZIPを標準で解凍することが出来なかったのです。
なので、ZIPを解凍するフリーソフトが必要です。
>またArduino.appはmacでは隠しファイルで開けないようです。
これが、良く理解出来ません。
https://www.arduino.cc/en/Guide/MacOSX#
ここを読む限りでは、macでもZIPをダウンロードして解凍するだけと書いてあるように思うのですが?
mac用のZIPファイルの中は、「Arduino.app\Contents」で始まっているのですがこれが隠しファイルだとするとArduinoIDEはどうやって起動しているのでしょう?
>VAIOで試してみましたが画像のようなエラーが出てしまいました。
画像が小さいので良く読めませんが、同じエラーですよね?
>Arduino1.6.7とバージョンアップしてこれが読めなくなることはあるんでしょうか?
可能性は否定出来ません。
バージョンアップによる不具合や、初期の設定内容が異なっているなどが考えられます。
>Arduinoをつないでいなくてもコンパイルは可能ですよね?
Arduinoは、開発環境です。無くてもコンパイルは可能ですが環境を作るのが大変です。
Arduino1.6.5をインストールしたところコンパイルできました!長々と相談に乗って頂き、心強かったです。本当にありがとうございました。
No.5
- 回答日時:
>そもそもArduinoが起動しませんでした。
それは無理です。
WindowsXPで動作させるなら、以下のサイトの下の方にある、「1.6.5」の「Windowsインストーラー版」か「WindowsZIP版」をダウンロードする必要があります。
https://www.arduino.cc/en/Main/OldSoftwareReleas …
>#include <SD.h>
>#include <SPI.h>
>#include <arduino.h>
この3つについては、「Arduino」に最初から付いています。
macが良くわからいのですが、今、「Arduino」のmac版をダウンロードしてみました。
ひょっとして、
Arduino.app\Contents\Java\libraries
このフォルダの下に、「Music Shield」を解凍したフォルダを入れてコンパイルすれば良いだけなのでは?
No.4
- 回答日時:
>「music playerというdir内に解凍したファイルを入れる」
"MusicPlayer"と言うディレクトに解凍したファイルを入れる訳なので、"MusicPlayer"は新規に作成すれば良いです。
それを「ArduinoIDE」の「library」にコピーする。
実際には、「Music_Shield-master」フォルダに入っていて、それをコピーしてますよね。
ただ、それは私も同じ事をしたので問題にはならないと思います。
私が考えるには、「Music Shield」の環境の問題では無く「ArduinoIDE」の環境の問題だと思います。
最初に出ているエラーメッセージで、
#define min(a,b) (((a)<(b))?(a):(b))
が重複しているとなっています。
で、重複している内容が
/Arduino/libraries/Music_Shield-master/MusicPlayer.h:52:0
/Arduino.app/Contents/Java/hardware/arduino/avr/cores/arduino/Arduino.h:84:0
となっています。
しかし、私が作成した環境には「Arduino.app」と言うフォルダは存在しません。
色々調べてみると、「Arduino.h」は以下のフォルダに見つかりました。
/Arduino/hardware/arduino/avr/cores/arduino/Arduino.h:84
比較すると、
/Arduino.app/Contents/Java/hardware/arduino/avr/cores/arduino/Arduino.h:84:0
/Arduino/hardware/arduino/avr/cores/arduino/Arduino.h:84
となり、
「Arduino」配下以外に
「Arduino.app/Contents/Java」と言う環境からも読み込んでいるように見えます。
そこで、疑問に思ったのが、
#include <arduino.h>
とした時に、どこから「arduino.h」を読み込んでいるのか?と言うことです。
#include <MusicPlayer.h>
このヘッダーは、「library」にコピーした「MusicShield」に入っているので「library」フォルダ配下のフォルダは自動的に検索対象になっている事はわかります。
実際、「ArduinoIDE」の「スケッチ」の「Include Libraly」や「Library Manager」に表示されています。
「環境設定」なども調べたのですが特に指定している場所が見つかりませんでした。
この辺りが、Windowsとmacの違いなのかわかりませんが、いずれにしても調べるのは「ArduinoIDE」の環境で、「MusicShield」では無いと言うことです。
No.3
- 回答日時:
WindowsXPでもやってみましたが、コンパイルは出来ました。
取り敢えずやったことを書いておきます。
1:arduino-1.6.5-r5-windows.zipをC:\に解凍。
2:Music_Shield-master.zipを1で解凍したフォルダの「C:\arduino-1.6.5-r5\libraries」に解凍。
(「C:\arduino-1.6.5-r5\libraries\Music_Shield-master」フォルダが作成される。)
3:「arduino.exe」を起動。
4:「ファイル」-「開く」で、「C:\arduino-1.6.5-r5\libraries\Music_Shield-master\examples\addToList\addToList.ino」を開く。
5:コンパイル。
No.2
- 回答日時:
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 英語 できるだけ直訳で英語の翻訳をお願いします。(英語→日本語) 1 2022/10/15 20:59
- 英語 この英文は平易な反面格調高いですか? 1 2023/01/15 12:04
- 戦争・テロ・デモ ウクライナ、メル友に五千円要求されてさ 1 2022/04/02 09:38
- その他(SNS・コミュニケーションサービス) 自分のpcがハッキングされたようなメールが来たのですがどうすればいいですか? 4 2022/10/02 16:14
- その他(プログラミング・Web制作) python fbprophetについて 1 2022/09/29 19:44
- TOEFL・TOEIC・英語検定 英検準1級英作文の添削をお願いします。 ポイントはCurriculumとGlobalizationを 4 2023/05/29 11:33
- TOEFL・TOEIC・英語検定 With its architecture and gardens and a wealth of 0 2022/12/17 16:11
- 英語 英文の添削をお願いします 4 2023/05/23 11:10
- C言語・C++・C# [至急]Project Euler:#17Number letter countsコード入力出力解説 2 2022/09/24 02:46
- 英語 この英文は格調高いのでしょうか? 3 2022/06/03 18:55
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
<math.h>があるのにsqrtが・...
-
VBAを何回も作り直して、容量が...
-
RPGでプログラムからソースファ...
-
PRO*C コンパイルエラー
-
セミコロンについて
-
C言語でヘッダファイルにグロー...
-
マクロ コンパイルがグレーバック
-
C++コンパイル時に『 C1083: in...
-
VMwareのLinuxでコンパイルでき...
-
outportb関数について
-
1 つ以上の複数回定義されてい...
-
pyc 編集 閲覧
-
Makefile作成時の拡張子.oとは?
-
クリティカルエラー Expressio...
-
VB6とInputManソフトの関係
-
【VC++6.0(MFC)】警告「LINK : ...
-
sys/types.hの必要性について
-
” OS ビルド ” の意味が分か...
-
関数形式マクロ
-
定数式とはどういう意味でしょ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
” OS ビルド ” の意味が分か...
-
VBAを何回も作り直して、容量が...
-
「fatal error C1189」を回避す...
-
C言語でヘッダファイルにグロー...
-
Makefile作成時の拡張子.oとは?
-
エクセルVBAではRound...
-
1 つ以上の複数回定義されてい...
-
コンパイルエラー:ユーザ定義...
-
セミコロンについて
-
ILSpyで、デコンパイルできない。
-
[c++] <pthread.h>がinclude で...
-
クリティカルエラー Expressio...
-
マクロ コンパイルがグレーバック
-
PRO*C コンパイルエラー
-
外部シンボル "_main"は未解決です
-
他のLinuxでも動くa.outの作り方
-
<math.h>があるのにsqrtが・...
-
戻り値について
-
pyc 編集 閲覧
-
C++コンパイル時に『 C1083: in...
おすすめ情報
コンパイルが通らないのでこの症状とは違うようです、ありがとうございます。
WindowsXPにて再度試してみたところ、エラーメッセージが下記に変わりましたが、やはりコンパイルが出来ませんでした。
「
Cannot run program "arduino-1.6.7¥arduino-builder"(in directory"."):CreateProcess error=5,アクセスが拒否されました。
」
単純にverに対応していないのかもしれませんが
Macでなんとか出来ないかと一度削除してインストールしなおしたりしてみましたが駄目でした。
エラーメッセージも変わらないようです。このスケッチにこだわらず音が出るならその方がいいのですが、シールドと対応しているこのスケッチでしか音を出すことはできないのでしょうか?
XPのほうでもう一度出来るか試してみます。
色々なパソコンで試してみてもエラーが出てしまうので、わたしの手順が何やら間違っているのではないかと思ったのですが、どのように間違っているのかわかりません。
画像のような手順でミュージックシールド V2.0のライブラリをセットしています。
https://github.com/Seeed-Studio/Music_Shield
こちらのサイトには「music playerというdir内に解凍したファイルを入れる」と書いてあるのですがそれもどこにあるのかわかりません…
WindowsXPがネットに接続しておらずMacでダウンロードしたものを運んで開いたせいか、そもそもArduinoが起動しませんでした。
重複して読み込むことを解消できれば、Mac環境下でも作動するということでしょうか?
#include <SD.h>
#include <SPI.h>
#include <arduino.h>
の3つのヘッダーはArduinoのソフトウェア上に元からあるのでしょうか?
XPには、window用のzipデータを展開しました。
古いので開かなかったんでしょうか…?
またArduino.appはmacでは隠しファイルで開けないようです。
Windowsのみの適用なのかと、先日教えていただいたXPでの操作を参考に
VAIOで試してみましたが画像のようなエラーが出てしまいました。
Arduino1.6.7とバージョンアップしてこれが読めなくなることはあるんでしょうか?
Arduinoをつないでいなくてもコンパイルは可能ですよね?