LED Table code for Mega 2560

i am the utmost of noobies to Arduino programming so please correct me at any point. I am trying to load this code onto my board to run this LED interactive table i’m building on IDE 1.8.1 and I keep getting the error
“exit status 1
Error compiling for board Arduino/Genuino Mega or Mega 2560.”

Can anyone here help me with this? I’d be forever in your debt.
Thanks

/* LedTable
   Main file with common methods and defines, such as button reading from Bluetooth controller
   or setting pixels on the LED area
*/

#include <SoftwareSerial.h>
//LED field size
#define  FIELD_WIDTH       14
#define  FIELD_HEIGHT      14
#define  ORIENTATION_HORIZONTAL //Rotation of table, uncomment to rotate field 90 degrees

#define USE_FAST_LED   // FAST_LED as library to control the LED strips

#define BLUETOOTH_SPEED 38400
/*
   Some defines used by the FAST_LED library
*/
#define FAST_LED_CHIPSET WS2811
#define FAST_LED_DATA_PIN  8


#if defined(USE_OCTOWS2811) && defined(USE_FAST_LED)
#error "Only one of USE_OCTOWS2811 and USE_FAST_LED can be defined"
#endif

#define  NUM_PIXELS    FIELD_WIDTH*FIELD_HEIGHT

/* *** LED color table *** */
#define  GREEN  0x00FF00
#define  RED    0xFF00FF
#define  BLUE   0x0000FF
#define  YELLOW 0xFFFF00
#define  LBLUE  0x00FFFF
#define  PURPLE 0xFF00FF
#define  WHITE  0XFFFFFF
long int colorLib[3] = {YELLOW, BLUE, WHITE};
/* *** Game commonly used defines ** */
#define DIR_UP 1
#define  DIR_DOWN 2
#define  DIR_LEFT 3
#define  DIR_RIGHT 4

/* *** Bluetooth controller button defines and input method *** */
#define  BTN_NONE  0
#define  BTN_UP    1
#define  BTN_DOWN  2
#define  BTN_LEFT  3
#define  BTN_RIGHT  4
#define  BTN_START  5
#define  BTN_EXIT  6

uint8_t curControl = BTN_NONE;
SoftwareSerial bluetooth(11, 10);

void readInput() {
  curControl = BTN_NONE;
  if (bluetooth.available() > 0) {
    // read the incoming byte:
    uint8_t incomingByte = bluetooth.read();
    Serial.println(incomingByte);
    switch (incomingByte) {
      case 238:
        curControl = BTN_LEFT;
        Serial.println("LEFT");
        break;
      case 239:
        curControl = BTN_RIGHT;
        Serial.println("RIGHT");
        break;
      case 236:
        curControl = BTN_UP;
        Serial.println("UP");
        break;
      case 237:
        curControl = BTN_DOWN;
        Serial.println("DOWN");
        break;
      case 224:
        curControl = BTN_START;
        Serial.println("START");
        break;
      case 225:
        curControl = BTN_EXIT;
        Serial.println("EXIT");
        break;
    }
  }
}


/*
   FAST_LED implementation
*/


#include "FastLED.h"

CRGB leds[NUM_PIXELS];

void initPixels() {

  FastLED.addLeds<FAST_LED_CHIPSET, FAST_LED_DATA_PIN, RGB>(leds, NUM_PIXELS);

}

void setPixel(int n, int color) {

  leds[n] = CRGB(color);
}

void setPixelRGB(int n, int r, int g, int b) {

  leds[n] = CRGB(r, g, b);
}

void setDelay(int duration) {
  FastLED.delay(duration);
}

int getPixel(int n) {
  return (leds[n].r << 16) + (leds[n].g << 8) + leds[n].b;
}

void showPixels() {
  FastLED.show();
}

void setTablePixel(int x, int y, long int color) {
#ifdef ORIENTATION_HORIZONTAL
  setPixel(y % 2 ? y * FIELD_WIDTH + x : y * FIELD_WIDTH + ((FIELD_HEIGHT - 1) - x), color);
#ifdef USE_CONSOLE_OUTPUT
  setTablePixelConsole(y, x, color);
#endif
#else
  setPixel(x % 2 ? x * FIELD_WIDTH + ((FIELD_HEIGHT - 1) - y) : x * FIELD_WIDTH + y, color);
#ifdef USE_CONSOLE_OUTPUT
  setTablePixelConsole(x, y, color);
#endif
#endif
}

void setTablePixelRGB(int x, int y, int r, int g, int b) {
#ifdef ORIENTATION_HORIZONTAL
  setPixelRGB(y % 2 ? y * FIELD_WIDTH + x : y * FIELD_WIDTH + ((FIELD_HEIGHT - 1) - x), r, g, b);
#ifdef USE_CONSOLE_OUTPUT
  setTablePixelConsole(y, x, color);
#endif
#else
  setPixelRGB(x % 2 ? x * FIELD_WIDTH + ((FIELD_HEIGHT - 1) - y) : x * FIELD_WIDTH + y, r, g, b);
#ifdef USE_CONSOLE_OUTPUT
  setTablePixelConsole(x, y, color);
#endif
#endif
}
void clearTablePixels() {
  for (int n = 0; n < FIELD_WIDTH * FIELD_HEIGHT; n++) {
    setPixel(n, 0);
  }
}

/* *** text helper methods *** */
#include "font.h"
uint8_t charBuffer[8][8];

void printText(String text, unsigned int textLength, int xoffset, int yoffset, long int color) {
  uint8_t curLetterWidth = 0;
  int curX = xoffset;
  clearTablePixels();

  //Loop over all the letters in the string
  for (int i = textLength - 1; i >= 0; i--) {
    //Determine width of current letter and load its pixels in a buffer
    curLetterWidth = loadCharInBuffer(text[i]);
    //Loop until width of letter is reached
    for (int lx = curLetterWidth - 1; lx >= 0 ; lx--) {
      //Now copy column per column to field (as long as within the field
      if (curX >= FIELD_WIDTH) { //If we are to far to the right, stop loop entirely
        break;
      } else if (curX >= 0) { //Draw pixels as soon as we are "inside" the drawing area
        for (int ly = 0; ly < 8; ly++) { //Finally copy column
          setTablePixel(curX, yoffset + ly, charBuffer[lx][ly]*color);
        }
      }
      curX++;
    }
  }

  showPixels();
}

//Load char in buffer and return width in pixels
uint8_t loadCharInBuffer(char letter) {
  uint8_t* tmpCharPix;
  uint8_t tmpCharWidth;

  int letterIdx = (letter - 32) * 8;

  int x = 0; int y = 0;
  for (int idx = letterIdx; idx < letterIdx + 8; idx++) {
    for (int x = 0; x < 8; x++) {
      charBuffer[x][y] = ((font[idx]) & (1 << (7 - x))) > 0;
    }
    y++;
  }

  tmpCharWidth = 8;
  return tmpCharWidth;
}


/* *********************************** */

void fadeOut() {
  //Select random fadeout animation
  int selection = random(3);

  switch (selection) {
    case 0:
    case 1:
      {
        //Fade out by dimming all pixels
        for (int i = 0; i < 100; i++) {
          dimLeds(0.97);
          showPixels();
          delay(10);
        }
        break;
      }
    case 2:
      {
        //Fade out by swiping from left to right with ruler
        const int ColumnDelay = 10;
        int curColumn = 0;
        for (int i = 0; i < FIELD_WIDTH * ColumnDelay; i++) {
          dimLeds(0.97);
          if (i % ColumnDelay == 0) {
            //Draw vertical line
            for (int y = 0; y < FIELD_HEIGHT; y++) {
              setTablePixel(curColumn, y, GREEN);
            }
            curColumn++;
          }
          showPixels();
          delay(5);
        }
        //Sweep complete, keep dimming leds for short time
        for (int i = 0; i < 100; i++) {
          dimLeds(0.9);
          showPixels();
          delay(5);
        }
        break;
      }
  }
}

void dimLeds(float factor) {
  //Reduce brightness of all LEDs, typical factor is 0.97
  for (int n = 0; n < (FIELD_WIDTH * FIELD_HEIGHT); n++) {
    int curColor = getPixel(n);
    //Derive the tree colors
    int r = ((curColor & 0xFF0000) >> 16);
    int g = ((curColor & 0x00FF00) >> 8);
    int b = (curColor & 0x0000FF);
    //Reduce brightness
    r = r * factor;
    g = g * factor;
    b = b * factor;
    //Pack into single variable again
    curColor = (r << 16) + (g << 8) + b;
    //Set led again
    setPixel(n, curColor);
  }
}

void testMatrix() {
  setTablePixel(0, 0, WHITE);
  showPixels();
  delay(2000);
  setTablePixel(0, 9, WHITE);
  showPixels();
  delay(2000);
  setTablePixel(9, 0, WHITE);
  showPixels();
  delay(2000);
  setTablePixel(9, 9, WHITE);
}

void setup() {
  Serial.begin(115200);
  //Wait for serial port to connect
  bluetooth.begin(BLUETOOTH_SPEED);
  //Initialise display
  initPixels();
  showPixels();


  //Init random number generator
  randomSeed(millis());

  mainLoop();
}

void loop() {
}

random bonus question (this will give my noobery away outright i’m sure)

I havent soldered or made any connections to the switching power supply, the LED board or the Bluetooth yet. do these periperhals all need to be connected before I can even load the code onto the Arduino?

No. You should be able to just compile the program without any electronics attached. Obviously, if you upload the program and try to run it, it will not work. I'm assuming you have used the Tools --> Board to select the board to match what you're using and the Tools --> Port to select the correct COM port for uploading the program.

yes but the port and board are the only two parameters i really changed. is there any other settings I need to change for the first program to be installed on a new Arduino Mega?

Along with that error message was one that said that more information could be seen if you use verbose mode when compiling. Go to File + Preferences, and do that.

Show the COMPLETE output.

You aren't using XP by any chance, are you?

nope - not XP win 7.

here is the complete "verbose" error output:

Arduino: 1.8.1 (Windows 7), Board: "Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)"

C:\Program Files (x86)\Arduino\arduino-builder -dump-prefs -logger=machine -hardware C:\Program Files (x86)\Arduino\hardware -tools C:\Program Files (x86)\Arduino\tools-builder -tools C:\Program Files (x86)\Arduino\hardware\tools\avr -built-in-libraries C:\Program Files (x86)\Arduino\libraries -libraries C:\Users\darkness\Documents\Arduino\libraries -fqbn=arduino:avr:mega:cpu=atmega2560 -vid-pid=0X2A03_0X0042 -ide-version=10801 -build-path C:\Users\darkness\AppData\Local\Temp\arduino_build_997531 -warnings=none -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avr-gcc.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.arduinoOTA.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -verbose C:\Users\darkness\Desktop\LED-Table\LED-Table.ino
C:\Program Files (x86)\Arduino\arduino-builder -compile -logger=machine -hardware C:\Program Files (x86)\Arduino\hardware -tools C:\Program Files (x86)\Arduino\tools-builder -tools C:\Program Files (x86)\Arduino\hardware\tools\avr -built-in-libraries C:\Program Files (x86)\Arduino\libraries -libraries C:\Users\darkness\Documents\Arduino\libraries -fqbn=arduino:avr:mega:cpu=atmega2560 -vid-pid=0X2A03_0X0042 -ide-version=10801 -build-path C:\Users\darkness\AppData\Local\Temp\arduino_build_997531 -warnings=none -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avr-gcc.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.arduinoOTA.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -verbose C:\Users\darkness\Desktop\LED-Table\LED-Table.ino
Using board 'mega' from platform in folder: C:\Program Files (x86)\Arduino\hardware\arduino\avr
Using core 'arduino' from platform in folder: C:\Program Files (x86)\Arduino\hardware\arduino\avr
Detecting libraries used...
"C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics  -flto -w -x c++ -E -CC -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10801 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR   "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\mega" "C:\Users\darkness\AppData\Local\Temp\arduino_build_997531\sketch\LED-Table.ino.cpp" -o "nul"
"C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics  -flto -w -x c++ -E -CC -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10801 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR   "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\mega" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SoftwareSerial\src" "C:\Users\darkness\AppData\Local\Temp\arduino_build_997531\sketch\LED-Table.ino.cpp" -o "nul"
"C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics  -flto -w -x c++ -E -CC -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10801 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR   "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\mega" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SoftwareSerial\src" "C:\Users\darkness\AppData\Local\Temp\arduino_build_997531\sketch\LED-Table.ino.cpp" -o "C:\Users\darkness\AppData\Local\Temp\arduino_build_997531\preproc\ctags_target_for_gcc_minus_e.cpp"
C:\Users\darkness\Desktop\LED-Table\LED-Table.ino:96:21: fatal error: FastLED.h: No such file or directory

 #include "FastLED.h"

                     ^

compilation terminated.

Using library SoftwareSerial at version 1.0 in folder: C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SoftwareSerial 
exit status 1
Error compiling for board Arduino/Genuino Mega or Mega 2560.

i think i'm making progress as the compile process makes it much further now. I just needed to install the required libraries. The issue i'm running into right now is that it gets to a certain line and gives an error:

"error: variable 'brick' must be const in order to be put into read-only section by means of 'attribute((progmem))'"

here is the line

static uint8_t brick[] PROGMEM = {

^

here is the line

Where, in that line, do you see the const keyword? The compiler doesn't see it, either, which is what it is telling you.