私は C++ は初めてですが、プログラミングはしていません。最近、AVR マイクロコントローラー用のライブラリーを書き始めました。ライブラリのヘッダー ファイル (Codex.h) は次のようになります。
#ifndef Codex_h
#define Codex_h
#include "Arduino.h"
#include <SPI.h>
#include <Ethernet.h>
#include <EthernetUdp.h>
class Codex
{
public:
void hostIP(int a ,int b ,int c,int d);
void start(String ID);
void digitalReadOSC();
void analogReadOSC();
void digitalRead();
void analogRead();
void receive();
private:
EthernetUDP _Udp;
int _pin,_a,_b;
int _sensorData[52];
String _nID,_sID,_pID,_snID,_lID,_payloadlen,_payload,_packet;
char _packetBuffer[25];
IPAddress _coreIP(000,000,0,00);
};
#endif
もう一度言いますが、私は C++ を初めて使用するので、単純な間違いを犯していると思いますが、コンパイラで IPAddress 型に問題があり、EthernetUDP インスタンスの作成を処理しています。IPAddress は、Ethernet.h ライブラリに由来する関数です。これは、ライブラリをプロジェクトに含めようとしたときにコンパイラが吐き出すものです。
In file included from sketch_aug17b.ino:1:
C:\Program Files (x86)\Arduino\libraries\Codex/Codex.h:19: error: 'EthernetUDP'
does not name a type
C:\Program Files (x86)\Arduino\libraries\Codex/Codex.h:24: error: 'IPAddress'
does not name a type
C++の本を読みに行くように言われただけでも、助けてくれてありがとう:)。