Error Compiling message

Hello all.
I'm having trouble compiling my code for my Arduino. I'm still somewhat novice so there could be a problem I don't see however, I don't believe that's the case. I was wondering if anyone could shed some light on the subject. One odd thing I notice is that if I comment out any one section of code the program will compile just fine. But if I run all the code I have now it will not compile. It's very strange to me. I've attached the code in a file, any help would be appreciated.

DHT_Sensor_w_4x7_Segment_Display.ino (11.1 KB)

I don't have your dht library so I can't compile it anyway, but what is the actual error message you get?

Surely this can't be taken too literally:

if I comment out any one section of code the program will compile just fine.

Presumably you mean that it compiles with a particular section commented out, not any random section? Post the code that does compile...

(But rather than attach it, put the code in the post and use the code tag icon to get it in a nice box.)

hi i think you need to make Temp a global int

and then apply the temperature read to it. that compiles for me

but i also think your have attacked your problem incorrectly and would suggest you watch some utubes vids on temp sensors and there is an article on this wesite showing a way to setup up 7 segment displays , might also be worth a read
hope this helps

Actually,when I made a couple of trivial changes so it suits the dht library I do have, it compiles for me.

RonaldJKirby:
i think you need to make Temp a global int

You mean TempF? It's only used in loop() so doesn't need to be global.

So still need to hear from OP: what does compile for you, and what errors do you get when it doesn't compile?

Doesn't seem to be anything in the code to prevent it from compiling (although I don't have the correct dht library).

Do you mean that it will not compile, or that it will not run correctly and display what you want on the 7-segment display? A quick look at your code would indicate you are not driving the display properly.

[code#include <dht.h>
#define dht_apin A0 // Analog Pin sensor is connected to

int pinA = 2;  //4 x 7 Segment pins //pinA is top, spot 1
int pinB = 3;  //pin B is top, spot 6
int pinC = 4;  //Pin C is bottom, spot 4
int pinD = 5;  //Pin D is bottom, spot 2
int pinE = 6;  //pin E is bottom, spot 1
int pinF = 7;  //pin F is top, spot 3
int pinG = 8;  //pin G is bottom, spot 6
int D1 = 9;    //D1 is top, spot 1
int D2 = 10;   //D2 is top, spot 4
int D3 = 11;   //D3 is top, spot 5
int D4 = 12;   //D4 is bottom, spot 6

int tOd = 5;   //tOd is Time of Delay


dht DHT;
void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);

  //setting 4x7 segment pins
  pinMode (pinA, OUTPUT);
  pinMode (pinB, OUTPUT);
  pinMode(pinC, OUTPUT);
  pinMode(pinD, OUTPUT);
  pinMode(pinE, OUTPUT);
  pinMode(pinF, OUTPUT);
  pinMode(pinG, OUTPUT);
  pinMode(D1, OUTPUT);
  pinMode(D2, OUTPUT);
  pinMode(D3, OUTPUT);
  pinMode(D4, OUTPUT);

  delay (500); //Gives time for system
  Serial.println( "DTH11 Humidity and Temperature Sensor");
  delay (1000); //Gives extra time for DTH
}

void loop() {
  // put your main code here, to run repeatedly:
  int j = 1;
  DHT.read11(dht_apin);
  int TempF = DHT.temperature * 1.8 + 32;
  Serial.print("Current humidity = ");
  Serial.print(DHT.humidity);
  Serial.print("%  ");
  Serial.print("Temperature = ");
  Serial.print(TempF);
  Serial.println("F  ");


  while ((TempF >= 70) && (TempF < 80) && (j < 750)) {
    j = j + 1;
    digitalWrite (D1, LOW); //displays 7 in tens
    digitalWrite (D2, HIGH);
    digitalWrite (D3, LOW);
    digitalWrite (D4, LOW);

    digitalWrite(pinA, LOW);
    digitalWrite(pinB, LOW);
    digitalWrite(pinC, LOW);
    digitalWrite(pinD, HIGH);
    digitalWrite(pinE, HIGH);
    digitalWrite(pinF, HIGH);
    digitalWrite(pinG, HIGH);
    delay(tOd);

    if (TempF == 70) { //Displays 0 in ones
      digitalWrite (D1, LOW);
      digitalWrite (D2, LOW);
      digitalWrite (D3, HIGH);
      digitalWrite (D4, LOW);

      digitalWrite(pinA, LOW);
      digitalWrite(pinB, LOW);
      digitalWrite(pinC, LOW);
      digitalWrite(pinD, HIGH);
      digitalWrite(pinE, HIGH);
      digitalWrite(pinF, HIGH);
      digitalWrite(pinG, HIGH);
      delay(tOd);
    }
    if (TempF == 71) { //prints 1 in ones
      digitalWrite (D1, LOW);
      digitalWrite (D2, LOW);
      digitalWrite (D3, HIGH);
      digitalWrite (D4, LOW);

      digitalWrite(pinA, HIGH);
      digitalWrite(pinB, LOW);
      digitalWrite(pinC, LOW);
      digitalWrite(pinD, HIGH);
      digitalWrite(pinE, HIGH);
      digitalWrite(pinF, HIGH);
      digitalWrite(pinG, HIGH);
      delay(tOd);
    }
    if (TempF == 72) { //prints 2 in ones
      digitalWrite (D1, LOW);
      digitalWrite (D2, LOW);
      digitalWrite (D3, HIGH);
      digitalWrite (D4, LOW);

      digitalWrite(pinA, LOW);
      digitalWrite(pinB, LOW);
      digitalWrite(pinC, HIGH);
      digitalWrite(pinD, LOW);
      digitalWrite(pinE, LOW);
      digitalWrite(pinF, HIGH);
      digitalWrite(pinG, LOW);
      delay(tOd);
    }
    if (TempF == 73) { //prints 3 in ones
      digitalWrite (D1, LOW);
      digitalWrite (D2, LOW);
      digitalWrite (D3, HIGH);
      digitalWrite (D4, LOW);

      digitalWrite(pinA, LOW);
      digitalWrite(pinB, LOW);
      digitalWrite(pinC, LOW);
      digitalWrite(pinD, LOW);
      digitalWrite(pinE, HIGH);
      digitalWrite(pinF, HIGH);
      digitalWrite(pinG, LOW);
      delay(tOd);
    }
    if (TempF == 74) { //prints 4 in ones
      digitalWrite (D1, LOW);
      digitalWrite (D2, LOW);
      digitalWrite (D3, HIGH);
      digitalWrite (D4, LOW);

      digitalWrite(pinA, HIGH);
      digitalWrite(pinB, LOW);
      digitalWrite(pinC, LOW);
      digitalWrite(pinD, HIGH);
      digitalWrite(pinE, HIGH);
      digitalWrite(pinF, LOW);
      digitalWrite(pinG, LOW);
      delay(tOd);
    }
    if (TempF == 75) { //prints 5 in ones
      digitalWrite (D1, LOW);
      digitalWrite (D2, LOW);
      digitalWrite (D3, HIGH);
      digitalWrite (D4, LOW);

      digitalWrite(pinA, LOW);
      digitalWrite(pinB, HIGH);
      digitalWrite(pinC, LOW);
      digitalWrite(pinD, LOW);
      digitalWrite(pinE, HIGH);
      digitalWrite(pinF, LOW);
      digitalWrite(pinG, LOW);
      delay(tOd);

    }
    if (TempF == 76) { //prints 6 in ones
      digitalWrite (D1, LOW);
      digitalWrite (D2, LOW);
      digitalWrite (D3, HIGH);
      digitalWrite (D4, LOW);

      digitalWrite(pinA, LOW);
      digitalWrite(pinB, HIGH);
      digitalWrite(pinC, LOW);
      digitalWrite(pinD, LOW);
      digitalWrite(pinE, LOW);
      digitalWrite(pinF, LOW);
      digitalWrite(pinG, LOW);
      delay(tOd);
    }
    if (TempF == 77) { //prints 7 in ones
      digitalWrite (D1, LOW);
      digitalWrite (D2, LOW);
      digitalWrite (D3, HIGH);
      digitalWrite (D4, LOW);

      digitalWrite(pinA, LOW);
      digitalWrite(pinB, LOW);
      digitalWrite(pinC, LOW);
      digitalWrite(pinD, HIGH);
      digitalWrite(pinE, HIGH);
      digitalWrite(pinF, HIGH);
      digitalWrite(pinG, HIGH);
      delay(tOd);
    }
    if (TempF == 78) { //prints 8 in ones
      digitalWrite (D1, LOW);
      digitalWrite (D2, LOW);
      digitalWrite (D3, HIGH);
      digitalWrite (D4, LOW);

      digitalWrite(pinA, LOW);
      digitalWrite(pinB, LOW);
      digitalWrite(pinC, LOW);
      digitalWrite(pinD, LOW);
      digitalWrite(pinE, LOW);
      digitalWrite(pinF, LOW);
      digitalWrite(pinG, LOW);
      delay(tOd);
    }
    if (TempF - 70 == 9) { //prints 9 in ones
      digitalWrite (D1, LOW);
      digitalWrite (D2, LOW);
      digitalWrite (D3, HIGH);
      digitalWrite (D4, LOW);

      digitalWrite(pinA, LOW);
      digitalWrite(pinB, LOW);
      digitalWrite(pinC, LOW);
      digitalWrite(pinD, HIGH);
      digitalWrite(pinE, HIGH);
      digitalWrite(pinF, LOW);
      digitalWrite(pinG, LOW);
    }
  }
  while ((TempF >= 60) && (TempF < 70) && (j < 750)) {
    j = j + 1;
    digitalWrite (D1, LOW); //displays 6 in tens
    digitalWrite (D2, HIGH);
    digitalWrite (D3, LOW);
    digitalWrite (D4, LOW);


    digitalWrite(pinA, LOW);
    digitalWrite(pinB, HIGH);
    digitalWrite(pinC, LOW);
    digitalWrite(pinD, LOW);
    digitalWrite(pinE, LOW);
    digitalWrite(pinF, LOW);
    digitalWrite(pinG, LOW);
    delay(tOd);

    if (TempF == 60) { //Displays 0 in ones
      digitalWrite (D1, LOW);
      digitalWrite (D2, LOW);
      digitalWrite (D3, HIGH);
      digitalWrite (D4, LOW);

      digitalWrite(pinA, LOW);
      digitalWrite(pinB, LOW);
      digitalWrite(pinC, LOW);
      digitalWrite(pinD, HIGH);
      digitalWrite(pinE, HIGH);
      digitalWrite(pinF, HIGH);
      digitalWrite(pinG, HIGH);
      delay(tOd);
    }

    if (TempF == 61) { //prints 1 in ones
      digitalWrite (D1, LOW);
      digitalWrite (D2, LOW);
      digitalWrite (D3, HIGH);
      digitalWrite (D4, LOW);

      digitalWrite(pinA, HIGH);
      digitalWrite(pinB, LOW);
      digitalWrite(pinC, LOW);
      digitalWrite(pinD, HIGH);
      digitalWrite(pinE, HIGH);
      digitalWrite(pinF, HIGH);
      digitalWrite(pinG, HIGH);
      delay(tOd);
    }

    if (TempF == 62) { //prints 2 in ones
      digitalWrite (D1, LOW);
      digitalWrite (D2, LOW);
      digitalWrite (D3, HIGH);
      digitalWrite (D4, LOW);

      digitalWrite(pinA, LOW);
      digitalWrite(pinB, LOW);
      digitalWrite(pinC, HIGH);
      digitalWrite(pinD, LOW);
      digitalWrite(pinE, LOW);
      digitalWrite(pinF, HIGH);
      digitalWrite(pinG, LOW);
      delay(tOd);
    }
    if (TempF == 63) { //prints 3 in ones
      digitalWrite (D1, LOW);
      digitalWrite (D2, LOW);
      digitalWrite (D3, HIGH);
      digitalWrite (D4, LOW);

      digitalWrite(pinA, LOW);
      digitalWrite(pinB, LOW);
      digitalWrite(pinC, LOW);
      digitalWrite(pinD, LOW);
      digitalWrite(pinE, HIGH);
      digitalWrite(pinF, HIGH);
      digitalWrite(pinG, LOW);
      delay(tOd);
    }
    if (TempF == 64) { //prints 4 in ones
      digitalWrite (D1, LOW);
      digitalWrite (D2, LOW);
      digitalWrite (D3, HIGH);
      digitalWrite (D4, LOW);

      digitalWrite(pinA, HIGH);
      digitalWrite(pinB, LOW);
      digitalWrite(pinC, LOW);
      digitalWrite(pinD, HIGH);
      digitalWrite(pinE, HIGH);
      digitalWrite(pinF, LOW);
      digitalWrite(pinG, LOW);
      delay(tOd);
    }

    if (TempF == 65) { //prints 5 in ones
      digitalWrite (D1, LOW);
      digitalWrite (D2, LOW);
      digitalWrite (D3, HIGH);
      digitalWrite (D4, LOW);

      digitalWrite(pinA, LOW);
      digitalWrite(pinB, HIGH);
      digitalWrite(pinC, LOW);
      digitalWrite(pinD, LOW);
      digitalWrite(pinE, HIGH);
      digitalWrite(pinF, LOW);
      digitalWrite(pinG, LOW);
      delay(tOd);

    }

    if (TempF == 66) { //prints 6 in ones
      digitalWrite (D1, LOW);
      digitalWrite (D2, LOW);
      digitalWrite (D3, HIGH);
      digitalWrite (D4, LOW);

      digitalWrite(pinA, LOW);
      digitalWrite(pinB, HIGH);
      digitalWrite(pinC, LOW);
      digitalWrite(pinD, LOW);
      digitalWrite(pinE, LOW);
      digitalWrite(pinF, LOW);
      digitalWrite(pinG, LOW);
      delay(tOd);
    }

    if (TempF == 67) { //prints 7 in ones
      digitalWrite (D1, LOW);
      digitalWrite (D2, LOW);
      digitalWrite (D3, HIGH);
      digitalWrite (D4, LOW);

      digitalWrite(pinA, LOW);
      digitalWrite(pinB, LOW);
      digitalWrite(pinC, LOW);
      digitalWrite(pinD, HIGH);
      digitalWrite(pinE, HIGH);
      digitalWrite(pinF, HIGH);
      digitalWrite(pinG, HIGH);
      delay(tOd);
    }

    if (TempF == 68) { //prints 8 in ones
      digitalWrite (D1, LOW);
      digitalWrite (D2, LOW);
      digitalWrite (D3, HIGH);
      digitalWrite (D4, LOW);

      digitalWrite(pinA, LOW);
      digitalWrite(pinB, LOW);
      digitalWrite(pinC, LOW);
      digitalWrite(pinD, LOW);
      digitalWrite(pinE, LOW);
      digitalWrite(pinF, LOW);
      digitalWrite(pinG, LOW);
      delay(tOd);
    }
    if (TempF == 69) { //prints 9 in ones
      digitalWrite (D1, LOW);
      digitalWrite (D2, LOW);
      digitalWrite (D3, HIGH);
      digitalWrite (D4, LOW);

      digitalWrite (pinA, LOW);
      digitalWrite (pinB, LOW);
      digitalWrite (pinC, LOW);
      digitalWrite (pinD, HIGH);
      digitalWrite (pinE, HIGH);
      digitalWrite (pinF, LOW);
      digitalWrite (pinG, LOW);
      delay(tOd);
    }
  }
 
    //displays F
    digitalWrite (D1, LOW);
    digitalWrite (D2, LOW);
    digitalWrite (D3, LOW);
    digitalWrite (D4, HIGH);

    digitalWrite (pinA, LOW);
    digitalWrite (pinB, HIGH);
    digitalWrite (pinC, HIGH);
    digitalWrite (pinD, HIGH);
    digitalWrite (pinE, LOW);
    digitalWrite (pinF, LOW);
    digitalWrite (pinG, LOW);
    delay(tOd);

    digitalWrite (D1, LOW);
    digitalWrite (D2, LOW);
    digitalWrite (D3, LOW);
    digitalWrite (D4, LOW);

}]

The two comments above contain my code.

meltDown:
Surely this can't be taken too literally:

Presumably, you mean that it compiles with a particular section commented out, not any random section? Post the code that does compile...

It actually is literal. I could comment out any "if" block and the code will compile. When the code is made to compile and runs it runs just fine on the 7-segment display. When my code does not compile I receive an "exit status 1" error compiling and a "segmentation fault" message. Thanks all for the help.

I could comment out any "if" block and the code will compile.

The two pieces of code above when patched together compile sucessfully for me with 1.8.5 and UNO as the board.

Ah, segmentation fault is not a problem with your code, it is a bug in the compiler. Not where I can look up the reference at the moment, google for arduino segmentation fault and you should be able to find the fix.

I got it working by installing a different AVR Board (1.6.21) Thanks for the help everyone!