Duda creando librerias

Hola, resulta que estoy intentando hacerme una libreria y, siguiendo el tutorial para crear librerias que hay en arduino.cc el cual esta http://arduino.cc/en/Hacking/LibraryTutorial tengo problemas al compilar. Pretendo con esta libreria controlar dos puentes H en donde valmov fija el tipo de movimiento y delai es el tiempo que dura este movimiento.

movimiento::movimiento(int avanzder, int avanzizq, int atrsder, int atrsizq) pretende setear los pines de arduino para que sean configurables por soft si es que se cambia el conexionado.

El codigo es el siguiente:

movimiento.h

#ifndef Movimiento_h
#define Movimiento_h
#include "WConstants.h"
int avanzder = 0;
int avanzizq = 0;
int atrsder = 0;
int atrsizq = 0;
class Movimiento
{
public: 
Movimiento(int avanzder, int avanzizq, int atrsder, int atrsizq);
void movi(int valmov, int delai);
private:
int _valmov;
int _delai;
int _avanzder;
int _avanzizq;
int _atrsder;
int _atrsizq;
};
#endif

movimiento.cpp

#include "Movimiento.h"
#include "wiring.h"
#include "WProgram.h"
Movimiento::Movimiento(int avanzder, int avanzizq, int atrsder, int atrsizq)
{
pinMode(atrsder, OUTPUT);
pinMode(atrsizq, OUTPUT);
pinMode(avanzder, OUTPUT);
pinMode(avanzizq, OUTPUT);
_avanzder = avanzder;
_avanzizq = avanzizq;
_atrsder = atrsder;
_atrsizq = atrsizq;
}
void Movimiento::movi(int valmov, int delai)
{
_valmov = valmov;
_delai = delai;
switch(_valmov)
{
case 1: // vehiculo avanza
digitalWrite(_avanzder, HIGH);
digitalWrite(_avanzizq, HIGH);
digitalWrite(_atrsder, LOW);
digitalWrite(_atrsizq, LOW);
delay(_delai);
break;
case 2: // vehiculo retrocede
digitalWrite(_avanzder,LOW);
digitalWrite(_avanzizq,LOW);
digitalWrite(_atrsder, HIGH);
digitalWrite(_atrsizq, HIGH);
delay(_delai);
break;
case 3: // vehiculo avanza derecha
digitalWrite(_avanzder,LOW);
digitalWrite(_avanzizq,HIGH);
digitalWrite(_atrsder, LOW);
digitalWrite(_atrsizq, LOW);
delay(_delai);
break;
case 4: // vehiculo avanza izquierda
digitalWrite(_avanzder,HIGH);
digitalWrite(_avanzizq,LOW);
digitalWrite(_atrsder, LOW);
digitalWrite(_atrsizq, LOW);
delay(_delai);
break;
case 5: // vehiculo gira sobre su eje derecha
digitalWrite(_avanzder,LOW);
digitalWrite(_avanzizq,HIGH);
digitalWrite(_atrsder, HIGH);
digitalWrite(_atrsizq, LOW);
delay(_delai);
break;
case 6: // vehiculo gira sobre su eje, izquierda
digitalWrite(_avanzder,HIGH);
digitalWrite(_avanzizq,LOW);
digitalWrite(_atrsder, LOW);
digitalWrite(_atrsizq, HIGH);
delay(_delai);
break;
case 7: // vehiculo retrocede izquierda
digitalWrite(_avanzder,LOW);
digitalWrite(_avanzizq,LOW);
digitalWrite(_atrsder, HIGH);
digitalWrite(_atrsizq, LOW);
delay(_delai);
break;
case 8: // vehiculo retrocede derecha
digitalWrite(_avanzder,LOW);
digitalWrite(_avanzizq,LOW);
digitalWrite(_atrsder, LOW);
digitalWrite(_atrsizq, HIGH);
delay(_delai);
break;
case 9: // vehiculo se detiene
digitalWrite(_avanzder,LOW);
digitalWrite(_avanzizq,LOW);
digitalWrite(_atrsder, LOW);
digitalWrite(_atrsizq, LOW);
delay(_delai);
break;
default:
delay(1);
}
}

Copio la libreria (en una carpeta claro esta) creada a la carpeta /hardware/libraries.

Los errores asociados son los siguientes:

In file included from D:\Mis Documentos\My Downloads\arduino-0012-win\arduino-0012\hardware\cores\arduino/WProgram.h:4,
                 from Movimiento.cpp:3:
d:/mis documentos/my downloads/arduino-0012-win/arduino-0012/hardware/tools/avr/lib/gcc/../../avr/include/stdlib.h:80: error: expected unqualified-id before 'int'
d:/mis documentos/my downloads/arduino-0012-win/arduino-0012/hardware/tools/avr/lib/gcc/../../avr/include/stdlib.h:80: error: expected `)' before 'int'
d:/mis documentos/my downloads/arduino-0012-win/arduino-0012/hardware/tools/avr/lib/gcc/../../avr/include/stdlib.h:80: error: expected `)' before 'int'
d:/mis documentos/my downloads/arduino-0012-win/arduino-0012/hardware/tools/avr/lib/gcc/../../avr/include/stdlib.h:111: error: expected unqualified-id before 'int'
d:/mis documentos/my downloads/arduino-0012-win/arduino-0012/hardware/tools/avr/lib/gcc/../../avr/include/stdlib.h:111: error: expected `)' before 'int'
d:/mis documentos/my downloads/arduino-0012-win/arduino-0012/hardware/tools/avr/lib/gcc/../../avr/include/stdlib.h:111: error: expected `)' before 'int'
d:/mis documentos/my downloads/arduino-0012-win/arduino-0012/hardware/tools/avr/lib/gcc/../../avr/include/stdlib.h:144: error: expected identifier before '(' token
d:/mis documentos/my downloads/arduino-0012-win/arduino-0012/hardware/tools/avr/lib/gcc/../../avr/include/stdlib.h:144: error: expected `)' before '(' token
d:/mis documentos/my downloads/arduino-0012-win/arduino-0012/hardware/tools/avr/lib/gcc/../../avr/include/stdlib.h:144: error: expected ',' or '...' before '(' token
d:/mis documentos/my downloads/arduino-0012-win/arduino-0012/hardware/tools/avr/lib/gcc/../../avr/include/stdlib.h:144: error: expected initializer before ')' token
d:/mis documentos/my downloads/arduino-0012-win/arduino-0012/hardware/tools/avr/lib/gcc/../../avr/include/stdlib.h:176: error: '__compar_fn_t' has not been declared
In file included from D:\Mis Documentos\My Downloads\arduino-0012-win\arduino-0012\hardware\cores\arduino/WProgram.h:6,
                 from Movimiento.cpp:3:
d:/mis documentos/my downloads/arduino-0012-win/arduino-0012/hardware/tools/avr/lib/gcc/../../avr/include/math.h:439: error: expected unqualified-id before 'double'
d:/mis documentos/my downloads/arduino-0012-win/arduino-0012/hardware/tools/avr/lib/gcc/../../avr/include/math.h:439: error: expected `)' before 'double'
d:/mis documentos/my downloads/arduino-0012-win/arduino-0012/hardware/tools/avr/lib/gcc/../../avr/include/math.h:439: error: expected `)' before 'double'

No pido una respuesta, es solo que siguiendo el tutorial hay cosas que aun no logro ver, y quizas como lo hago no es la manera mas indicada, pero la verdad no he pillado algun tutorial en la red de como crear librerias aparte del que presenta la pagina oficial...

Desde ya, les doy las gracias por tomar su tiempo en leer este post... y si algun alma caritativa me guia en que estoy mal, mas gracias aun :P

Alguien ha podido hacer librerias? En una de esas me dice porq aun no veo la solucion...

de antemano gracias

Disculpen el doblepost, pero ya ha pasado un tiempo desde que postee esta problematica

Hola como estas, oye en otro foro vi que el problema es que el IDE 0012 no era compatible con una libreria, en mi caso la libreria MD23 tampoco era compatible y me salia el mismo error que a ti, fue asi como llegue a ver tu pregunta. Lo intente con el IDE 0011 y funcionó!!. Asi que si usas el 0012 solo cambia de version y quizas resulte, suerte. Bye bye

Hola yo he creado una libreria sencilla para controlar 2 motores cc conectados con un puente H. Es parecido a lo que expones en el post. también es parametrizable según tengas conectados los pins. Si quieres te la puedo enviar. saludos.

Por si te sirve…

Aqui comento como y porque he creado mi Librería

Espero que te sirva