Arduino IDE- error with recognizing library for MP3 shield

I purchased an Mp3 shield from Tinkersphere NYC, and naturally it came without examples and sample code of any sorts.

I found a guide to an mp3 shield from elechouse online(The only one I could find), that looks identical to the shield I bought, so I referenced that directly while setting it up.
I had a few issues with downloading the Zip files for the library. The Zip was in the wrong folder initially, so I moved it and that was resolved.
The real problem, however, came up when I put in the example code that came with the MP3.h library. I keep getting error messages that I am not able to resolve at all.
They are either

"C:\Users-\Documents\Arduino\libraries\MP3/MP3.h:31:18: error: conflicting declaration 'typedef uint16_t u16'

typedef uint16_t u16;"

OR

"Error compiling for board Arduino/Genuino Uno."
I tried hard coding the libraries in and nothing works

Here is the code I have right now

#include <SoftwareSerial.h>
#include <MP4.h>

/** define mp3 class */
MP3 mp3;

void setup()
{
  /** begin function */
  mp3.begin(MP3_SOFTWARE_SERIAL);    // select software serial
//  mp3.begin();                       // select hardware serial(or mp3.begin(MP3_HARDWARE_SERIAL);)
  
  /** set volum to the MAX */
  mp3.volume(0x1F);
  
  /** set MP3 Shield CYCLE mode */
  mp3.set_mode(MP3::CYCLE);
  
  /** play music in sd, '0001' for first music */
//  mp3.play_sd(0x0001);
  
  /** play music in USB-disk */ 
  mp3.play_usb_disk(0x0001);
  
  /** play music in SPI FLASH */ 
  //mp3.play_spi_flash(0x0001);
}

void loop()
{
 /** function code here */
}

Tab-2 (MP3.cpp)

/*****************************************************************************/
/**
  @file     MP3.cpp
  @author   ELECHOUSE
  @version  V0.2
  @brief      head file for Arduino MP3 Shield
  
  @section  HISTORY
  V0.2  2012-12-13  Add software serial support.
  
  V0.1  2012-08-02  Initial version.
  
  Copyright (c) 2012 www.elechouse.com  All right reserved.
*/
/*****************************************************************************/
#include "MP3.h"

SoftwareSerial COM_SOFT(7, 8);

MP3::MP3()
{
  serial_type_t st=MP3_HARDWARE_SERIAL;
}

void MP3::begin(serial_type_t st)
{
  delay(3000);
  serial_type = st;
  if(serial_type == MP3_HARDWARE_SERIAL){
    COM.begin(9600);
  }else{
    COM_SOFT.begin(9600);
  }
}

void MP3::send_cmd(u8 *cmd)
{
    u8 i;
    u8 length;
    length = cmd[1]+2;
    if(length>CMD_BUF_LEN){
        return;
    }
    cmd[0] = 0x7E;
    cmd[length-1] = 0x7E;
    for(i=0; i<length; i++){
    if(serial_type == MP3_HARDWARE_SERIAL){
      COM.write(cmd[i]);
    }else{
      COM_SOFT.write(cmd[i]);
    }
    }
}

void MP3::next()
{
    cmd_buf[1]=0x02;
    cmd_buf[2]=0xA5;
    send_cmd(cmd_buf);
}

void MP3::pause()
{
    cmd_buf[1]=0x02;
    cmd_buf[2]=0xA3;
    send_cmd(cmd_buf);
}

void MP3::stop()
{
    cmd_buf[1]=0x02;
    cmd_buf[2]=0xA4;
    send_cmd(cmd_buf);
}

void MP3::play_sd(u16 num)
{
    cmd_buf[1]=0x04;
    cmd_buf[2]=0xA0;
    cmd_buf[3]=(u8)(num>>8);
    cmd_buf[4]=(u8)num;
    send_cmd(cmd_buf);
}

void MP3::play_spi_flash(u16 num)
{
    cmd_buf[1]=0x04;
    cmd_buf[2]=0xA1;
    cmd_buf[3]=(u8)(num>>8);
    cmd_buf[4]=(u8)num;
    send_cmd(cmd_buf);
}

void MP3::play_usb_disk(u16 num)
{
    cmd_buf[1]=0x04;
    cmd_buf[2]=0xA2;
    cmd_buf[3]=(u8)(num>>8);
    cmd_buf[4]=(u8)num;
    send_cmd(cmd_buf);
}

void MP3::volume(u8 vol)
{
    cmd_buf[1]=0x03;
    cmd_buf[2]=0xA7;
    cmd_buf[3]=vol&0x01F;
    send_cmd(cmd_buf);
}

void MP3::set_mode(u8 mode)
{
    cmd_buf[1]=0x03;
    cmd_buf[2]=0xA9;
    cmd_buf[3]=mode;
    send_cmd(cmd_buf);
}

void MP3::sd_to_flash(void)
{
    cmd_buf[1]=0x03;
    cmd_buf[2]=0xAA;
    cmd_buf[3]=0;
    send_cmd(cmd_buf);
}

void MP3::usb_to_flash(void)
{
    cmd_buf[1]=0x03;
    cmd_buf[2]=0xAB;
    cmd_buf[3]=0;
    send_cmd(cmd_buf);
}

Tab 3 (MP4.h)

/*****************************************************************************/
/**
  @file     MP3.h
  @author   ELECHOUSE
  @version  V0.2
  @brief      head file for Arduino MP3 Shield
  
  @section  HISTORY
  V0.2  2012-12-13  Add software serial support.
  
  V0.1  2012-08-02  Initial version.
  
  Copyright (c) 2012 www.elechouse.com  All right reserved.
*/
/*****************************************************************************/

#ifndef __MP3_H
#define __MP3_H

#if defined(ARDUINO) && ARDUINO >= 100
#include "Arduino.h"
#else
#include "WProgram.h"
#endif
#include "wiring_private.h"
#include "SoftwareSerial.h"
#ifndef __TYPE_REDEFINE
#define __TYPE_REDEFINE
//typedef uint8_t u8;
//typedef int8_t  s8;
//typedef uint16_t u16;
//typedef int16_t  s16;
//typedef uint32_t u32;
//typedef int32_t  s32;
#endif

/** Serial port definition */
#define COM         Serial

typedef enum{
  MP3_HARDWARE_SERIAL,
  MP3_SOFTWARE_SERIAL
}serial_type_t;

class MP3{
public:
    /** constructor */
    MP3();
    /** begin function, Arduino style */
    void begin(serial_type_t st=MP3_HARDWARE_SERIAL );
    /** MP3 shield basic send command function */
    void send_cmd(u8 *cmd);
    /** play music in SD, and choose SD mode */
    void play_sd(u16 num);
    /** play music in USB, and choose USB mode */
    void play_usb_disk(u16 num);
    /** play music in SPI FLASH */
    void play_spi_flash(u16 num);
    /** play next music */
    void next();
    /** play previous music */
    void previous();
    /** pause when play, play when pause */
    void pause();
    /** stop playing */
    void stop();
    /** set volume */
    void volume(u8 vol);
    /** set mode, Use SINGLE, REPEAT, CYCLE or RANDOM as parameter */
    void set_mode(u8 mode);
    enum {SINGLE=0, REPEAT=1, CYCLE=2, RANDOM=3};
    /** copy files from SD to SPI FLASH */
    void sd_to_flash(void);
    /** copy files from USB to SPI FLASH */
    void usb_to_flash(void);
private:
    /** command buffer */
    enum {CMD_BUF_LEN = 10};
    u8 cmd_buf[CMD_BUF_LEN];
  serial_type_t serial_type;
};

#endif

Is this a problem with windows? Or is it the IDE?
I really need to get this MP3 shield working and hope that someone who has worked with this before can help me.

Here is the URL for the library http://www.elechouse.com/elechouse/images/product/Arduino%20MP3%20Shield/MP3_Shileld_elechouse.com.zip

And Here is the URL for the elechouse guide

Arduino MP3 Shield User Guide.pdf (1.33 MB)

Try changing all occurences of 'u16' to 'uint16_t' (and why not 'u8' to 'uint8_t') in both files MP3.h and MP3.cpp (keep a copy in case you need to change them back)

Hey, thanks for the reply.
I sourced some sample code from Tinkersphere's website and messed around with that and got it to work somehow. Here's what I did-

#include <SoftwareSerial.h>
SoftwareSerial Geno(7, 8); // Rx , Tx

unsigned char Data[10];
unsigned char i;
boolean knock;


// Include the library:
#include <SharpIR.h>
// Define model and input pin:
#define IRPin1 A0
//#define IRPin2 A1
#define model 100500
// Create variable to store the distance:
int distance_cm1;
//int distance_cm2;
/* Model :
  GP2Y0A02YK0F --> 20150
  GP2Y0A21YK0F --> 1080
  GP2Y0A710K0F --> 100500
  GP2YA41SK0F --> 430
*/
// Create a new instance of the SharpIR class:
SharpIR mySensor1 = SharpIR(IRPin1, model);
//SharpIR mySensor2 = SharpIR(IRPin2, model);


void setup() {
  delay(1000);
  Geno.begin(9600);
  Serial.begin(9600);
  delay(1000);
  SetVolume(30);

}

void playTrack(int num) {

  

  Data[0] = 0x7E;
  Data[1] = 0x04;
  Data[2] = 0xA2;
  Data[3] = 0x00;
  Data[4] = 0x00 + num;
  Data[5] = 0x7E;
  Command(Data, 5);

  play_pause();

 

}

void SetVolume( int vol) {
  Data[0] = 0x7E; // START
  Data[1] = 0x04; // Length Not 0x02
  Data[2] = 0xA7; // Command
  Data[3] = vol; // new volume
  Data[4] = 0x7E; // END
  Command(Data, 5);
}

void play_pause() {
  Data[0] = 0x7E; // START
  Data[1] = 0x02; // Length
  Data[2] = 0xA3; // Command
  Data[3] = 0x7E; //Mode parameter
  Command(Data, 4);
}

void stop_playing() {
  Data[0] = 0x7E;
  Data[1] = 0x02;
  Data[2] = 0xA4;
  Data[3] = 0x7E;
  Command(Data, 4);
}
void Command(unsigned char *Data, int length) {

  for (int i = 0; i < length; i++) {
    Geno.write(Data[i]);

    //  for (int i = 0; i < length; i++) {
    //    if (knock == true) {
    //      Geno.write(Data[i]);
    //
    //    } else if (knock == false) {
    //      Geno.write(Data[0]);
    //
    //
    //    }
  }

}


void loop() {
  

if(distance_cm1>150||distance_cm1<10){
  playTrack(random(3,5) );
  delay(10000);
}
else{
  playTrack(random(1,2));
  delay(10000);
}
//delay(10000);



  // Get a distance measurement and store it as distance_cm:
  distance_cm1 = mySensor1.distance();
//  distance_cm2 = mySensor2.distance();
 
  
  // Print the measured distance to the serial monitor:
  Serial.print("Mean distance1: ");
  Serial.print(distance_cm1);
  Serial.println(" cm");
  

//    Serial.print("Mean distance2: ");
//  Serial.print(distance_cm2);
//  Serial.println(" cm");
// 





}