Compilation terminated - #include <algorithm>

Trying to test IRremoteESP8266: IRrecvDemo

/*
 * IRremoteESP8266: IRrecvDemo - demonstrates receiving IR codes with IRrecv
 * This is very simple teaching code to show you how to use the library.
 * If you are trying to decode your Infra-Red remote(s) for later replay,
 * use the IRrecvDumpV2.ino (or later) example code instead of this.
 * An IR detector/demodulator must be connected to the input kRecvPin.
 * Copyright 2009 Ken Shirriff, http://arcfn.com
 * Example circuit diagram:
 *  https://github.com/crankyoldgit/IRremoteESP8266/wiki#ir-receiving
 * Changes:
 *   Version 0.2 June, 2017
 *     Changed GPIO pin to the same as other examples.
 *     Used our own method for printing a uint64_t.
 *     Changed the baud rate to 115200.
 *   Version 0.1 Sept, 2015
 *     Based on Ken Shirriff's IrsendDemo Version 0.1 July, 2009
 */
#include <Arduino.h>
#include <IRremoteESP8266.h>
#include <IRrecv.h>
#include <IRutils.h>
// An IR detector/demodulator is connected to GPIO pin 14(D5 on a NodeMCU
// board).
// Note: GPIO 16 won't work on the ESP8266 as it does not have interrupts.
// Note: GPIO 14 won't work on the ESP32-C3 as it causes the board to reboot.
#ifdef ARDUINO_ESP32C3_DEV
const uint16_t kRecvPin = 4; //10;  // 14 on a ESP32-C3 causes a boot loop.
#else  // ARDUINO_ESP32C3_DEV
const uint16_t kRecvPin = 14;
#endif  // ARDUINO_ESP32C3_DEV

IRrecv irrecv(kRecvPin);

decode_results results;
void setup() {
  Serial.begin(115200);
  irrecv.enableIRIn();  // Start the receiver
  while (!Serial)  // Wait for the serial connection to be establised.
    delay(50);
  Serial.println();
  Serial.print("IRrecvDemo is now running and waiting for IR message on Pin ");
  Serial.println(kRecvPin);
}
void loop() {
  if (irrecv.decode(&results)) {
    // print() & println() can't handle printing long longs. (uint64_t)
    serialPrintUint64(results.value, HEX);
    Serial.println("");
    irrecv.resume();  // Receive the next value
  }
  delay(100);
}

Not sure how to proceed with this error. Searched for algorithm in Library Manager, installed Arduino_AVRSTL v1.2.5, to no avail

 Arduino: 1.8.17 Hourly Build 2021/09/06 02:33 (Windows 10), Board: "Arduino Uno"
 
 In file included from C:\Users\son.goku\Documents\Arduino\libraries\IRremoteESP8266\src\IRac.h:14:0,
 
                  from C:\Users\son.goku\Documents\Arduino\libraries\IRremoteESP8266\src\IRac.cpp:7:
 
 C:\Users\son.goku\Documents\Arduino\libraries\IRremoteESP8266\src\ir_Bosch.h:16:10: fatal error: algorithm: No such file or directory
 
  #include <algorithm>
 
           ^~~~~~~~~~~
 
 compilation terminated.
 
 exit status 1
 
 Error compiling for board Arduino Uno.
 
 
 
 This report would have more information with
 "Show verbose output during compilation"
 option enabled in File -> Preferences.

Verbose output

Arduino: 1.8.17 Hourly Build 2021/09/06 02:33 (Windows 10), Board: "Arduino Uno"

C:\Users\son.goku\Downloads\arduino-nightly\arduino-builder -dump-prefs -logger=machine -hardware C:\Users\son.goku\Downloads\arduino-nightly\hardware -hardware C:\Users\son.goku\AppData\Local\Arduino15\packages -tools C:\Users\son.goku\Downloads\arduino-nightly\tools-builder -tools C:\Users\son.goku\Downloads\arduino-nightly\hardware\tools\avr -tools C:\Users\son.goku\AppData\Local\Arduino15\packages -built-in-libraries C:\Users\son.goku\Downloads\arduino-nightly\libraries -libraries C:\Users\son.goku\Documents\Arduino\libraries -fqbn=arduino:avr:uno -vid-pid=2341_0043 -ide-version=10817 -build-path C:\Users\son~1.goku\AppData\Local\Temp\arduino_build_282107 -warnings=none -build-cache C:\Users\son~1.goku\AppData\Local\Temp\arduino_cache_468592 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avrdude.path=C:\Users\son.goku\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17 -prefs=runtime.tools.avrdude-6.3.0-arduino17.path=C:\Users\son.goku\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17 -prefs=runtime.tools.avr-gcc.path=C:\Users\son.goku\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7 -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino7.path=C:\Users\son.goku\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7 -prefs=runtime.tools.arduinoOTA.path=C:\Users\son.goku\AppData\Local\Arduino15\packages\arduino\tools\arduinoOTA\1.3.0 -prefs=runtime.tools.arduinoOTA-1.3.0.path=C:\Users\son.goku\AppData\Local\Arduino15\packages\arduino\tools\arduinoOTA\1.3.0 -verbose C:\Users\son.goku\Documents\Arduino\IR_Reader_Test\IR_Reader_Test.ino

C:\Users\son.goku\Downloads\arduino-nightly\arduino-builder -compile -logger=machine -hardware C:\Users\son.goku\Downloads\arduino-nightly\hardware -hardware C:\Users\son.goku\AppData\Local\Arduino15\packages -tools C:\Users\son.goku\Downloads\arduino-nightly\tools-builder -tools C:\Users\son.goku\Downloads\arduino-nightly\hardware\tools\avr -tools C:\Users\son.goku\AppData\Local\Arduino15\packages -built-in-libraries C:\Users\son.goku\Downloads\arduino-nightly\libraries -libraries C:\Users\son.goku\Documents\Arduino\libraries -fqbn=arduino:avr:uno -vid-pid=2341_0043 -ide-version=10817 -build-path C:\Users\son~1.goku\AppData\Local\Temp\arduino_build_282107 -warnings=none -build-cache C:\Users\son~1.goku\AppData\Local\Temp\arduino_cache_468592 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avrdude.path=C:\Users\son.goku\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17 -prefs=runtime.tools.avrdude-6.3.0-arduino17.path=C:\Users\son.goku\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17 -prefs=runtime.tools.avr-gcc.path=C:\Users\son.goku\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7 -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino7.path=C:\Users\son.goku\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7 -prefs=runtime.tools.arduinoOTA.path=C:\Users\son.goku\AppData\Local\Arduino15\packages\arduino\tools\arduinoOTA\1.3.0 -prefs=runtime.tools.arduinoOTA-1.3.0.path=C:\Users\son.goku\AppData\Local\Arduino15\packages\arduino\tools\arduinoOTA\1.3.0 -verbose C:\Users\son.goku\Documents\Arduino\IR_Reader_Test\IR_Reader_Test.ino

Using board 'uno' from platform in folder: C:\Users\son.goku\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5

Using core 'arduino' from platform in folder: C:\Users\son.goku\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5

Detecting libraries used...

"C:\\Users\\son.goku\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10817 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-IC:\\Users\\son.goku\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.5\\cores\\arduino" "-IC:\\Users\\son.goku\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.5\\variants\\standard" "C:\\Users\\son~1.goku\\AppData\\Local\\Temp\\arduino_build_282107\\sketch\\IR_Reader_Test.ino.cpp" -o nul

Alternatives for IRremoteESP8266.h: [IRremoteESP8266@2.8.4]

ResolveLibrary(IRremoteESP8266.h)

  -> candidates: [IRremoteESP8266@2.8.4]

"C:\\Users\\son.goku\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10817 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-IC:\\Users\\son.goku\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.5\\cores\\arduino" "-IC:\\Users\\son.goku\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.5\\variants\\standard" "-IC:\\Users\\son.goku\\Documents\\Arduino\\libraries\\IRremoteESP8266\\src" "C:\\Users\\son~1.goku\\AppData\\Local\\Temp\\arduino_build_282107\\sketch\\IR_Reader_Test.ino.cpp" -o nul

"C:\\Users\\son.goku\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10817 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-IC:\\Users\\son.goku\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.5\\cores\\arduino" "-IC:\\Users\\son.goku\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.5\\variants\\standard" "-IC:\\Users\\son.goku\\Documents\\Arduino\\libraries\\IRremoteESP8266\\src" "C:\\Users\\son.goku\\Documents\\Arduino\\libraries\\IRremoteESP8266\\src\\IRac.cpp" -o nul

Alternatives for algorithm: []

ResolveLibrary(algorithm)In file included from C:\Users\son.goku\Documents\Arduino\libraries\IRremoteESP8266\src\IRac.h:14:0,



  -> candidates: []

                 from C:\Users\son.goku\Documents\Arduino\libraries\IRremoteESP8266\src\IRac.cpp:7:

C:\Users\son.goku\Documents\Arduino\libraries\IRremoteESP8266\src\ir_Bosch.h:16:10: fatal error: algorithm: No such file or directory

 #include <algorithm>

          ^~~~~~~~~~~

compilation terminated.

Using library IRremoteESP8266 at version 2.8.4 in folder: C:\Users\son.goku\Documents\Arduino\libraries\IRremoteESP8266 

exit status 1

Error compiling for board Arduino Uno.

Please show the code that produced the errors.

/*
 * IRremoteESP8266: IRrecvDemo - demonstrates receiving IR codes with IRrecv
 * This is very simple teaching code to show you how to use the library.
 * If you are trying to decode your Infra-Red remote(s) for later replay,
 * use the IRrecvDumpV2.ino (or later) example code instead of this.
 * An IR detector/demodulator must be connected to the input kRecvPin.
 * Copyright 2009 Ken Shirriff, http://arcfn.com
 * Example circuit diagram:
 *  https://github.com/crankyoldgit/IRremoteESP8266/wiki#ir-receiving
 * Changes:
 *   Version 0.2 June, 2017
 *     Changed GPIO pin to the same as other examples.
 *     Used our own method for printing a uint64_t.
 *     Changed the baud rate to 115200.
 *   Version 0.1 Sept, 2015
 *     Based on Ken Shirriff's IrsendDemo Version 0.1 July, 2009
 */
#include <Arduino.h>
#include <IRremoteESP8266.h>
#include <IRrecv.h>
#include <IRutils.h>
// An IR detector/demodulator is connected to GPIO pin 14(D5 on a NodeMCU
// board).
// Note: GPIO 16 won't work on the ESP8266 as it does not have interrupts.
// Note: GPIO 14 won't work on the ESP32-C3 as it causes the board to reboot.
#ifdef ARDUINO_ESP32C3_DEV
const uint16_t kRecvPin = 4; //10;  // 14 on a ESP32-C3 causes a boot loop.
#else  // ARDUINO_ESP32C3_DEV
const uint16_t kRecvPin = 14;
#endif  // ARDUINO_ESP32C3_DEV

IRrecv irrecv(kRecvPin);

decode_results results;
void setup() {
  Serial.begin(115200);
  irrecv.enableIRIn();  // Start the receiver
  while (!Serial)  // Wait for the serial connection to be establised.
    delay(50);
  Serial.println();
  Serial.print("IRrecvDemo is now running and waiting for IR message on Pin ");
  Serial.println(kRecvPin);
}
void loop() {
  if (irrecv.decode(&results)) {
    // print() & println() can't handle printing long longs. (uint64_t)
    serialPrintUint64(results.value, HEX);
    Serial.println("");
    irrecv.resume();  // Receive the next value
  }
  delay(100);
}

Hi,
In addition to this recommendation:

if "algorithm" it's a library and it's installed in your IDE, the correct syntax should be:
#include <algorithm.h>

Tried adding

#include
and
#include <algorithm.h>

Arduino: 1.8.17 Hourly Build 2021/09/06 02:33 (Windows 10), Board: "Arduino Uno"

C:\Users\son.goku\Downloads\arduino-nightly\arduino-builder -dump-prefs -logger=machine -hardware C:\Users\son.goku\Downloads\arduino-nightly\hardware -hardware C:\Users\son.goku\AppData\Local\Arduino15\packages -tools C:\Users\son.goku\Downloads\arduino-nightly\tools-builder -tools C:\Users\son.goku\Downloads\arduino-nightly\hardware\tools\avr -tools C:\Users\son.goku\AppData\Local\Arduino15\packages -built-in-libraries C:\Users\son.goku\Downloads\arduino-nightly\libraries -libraries C:\Users\son.goku\Documents\Arduino\libraries -fqbn=arduino:avr:uno -vid-pid=2341_0043 -ide-version=10817 -build-path C:\Users\son~1.goku\AppData\Local\Temp\arduino_build_282107 -warnings=none -build-cache C:\Users\son~1.goku\AppData\Local\Temp\arduino_cache_468592 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avr-gcc.path=C:\Users\son.goku\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7 -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino7.path=C:\Users\son.goku\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7 -prefs=runtime.tools.arduinoOTA.path=C:\Users\son.goku\AppData\Local\Arduino15\packages\arduino\tools\arduinoOTA\1.3.0 -prefs=runtime.tools.arduinoOTA-1.3.0.path=C:\Users\son.goku\AppData\Local\Arduino15\packages\arduino\tools\arduinoOTA\1.3.0 -prefs=runtime.tools.avrdude.path=C:\Users\son.goku\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17 -prefs=runtime.tools.avrdude-6.3.0-arduino17.path=C:\Users\son.goku\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17 -verbose C:\Users\son.goku\Documents\Arduino\IR_Reader_Test\IR_Reader_Test.ino

C:\Users\son.goku\Downloads\arduino-nightly\arduino-builder -compile -logger=machine -hardware C:\Users\son.goku\Downloads\arduino-nightly\hardware -hardware C:\Users\son.goku\AppData\Local\Arduino15\packages -tools C:\Users\son.goku\Downloads\arduino-nightly\tools-builder -tools C:\Users\son.goku\Downloads\arduino-nightly\hardware\tools\avr -tools C:\Users\son.goku\AppData\Local\Arduino15\packages -built-in-libraries C:\Users\son.goku\Downloads\arduino-nightly\libraries -libraries C:\Users\son.goku\Documents\Arduino\libraries -fqbn=arduino:avr:uno -vid-pid=2341_0043 -ide-version=10817 -build-path C:\Users\son~1.goku\AppData\Local\Temp\arduino_build_282107 -warnings=none -build-cache C:\Users\son~1.goku\AppData\Local\Temp\arduino_cache_468592 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avr-gcc.path=C:\Users\son.goku\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7 -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino7.path=C:\Users\son.goku\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7 -prefs=runtime.tools.arduinoOTA.path=C:\Users\son.goku\AppData\Local\Arduino15\packages\arduino\tools\arduinoOTA\1.3.0 -prefs=runtime.tools.arduinoOTA-1.3.0.path=C:\Users\son.goku\AppData\Local\Arduino15\packages\arduino\tools\arduinoOTA\1.3.0 -prefs=runtime.tools.avrdude.path=C:\Users\son.goku\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17 -prefs=runtime.tools.avrdude-6.3.0-arduino17.path=C:\Users\son.goku\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17 -verbose C:\Users\son.goku\Documents\Arduino\IR_Reader_Test\IR_Reader_Test.ino

Using board 'uno' from platform in folder: C:\Users\son.goku\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5

Using core 'arduino' from platform in folder: C:\Users\son.goku\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5

Detecting libraries used...

"C:\\Users\\son.goku\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10817 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-IC:\\Users\\son.goku\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.5\\cores\\arduino" "-IC:\\Users\\son.goku\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.5\\variants\\standard" "C:\\Users\\son~1.goku\\AppData\\Local\\Temp\\arduino_build_282107\\sketch\\IR_Reader_Test.ino.cpp" -o nul

Alternatives for algorithm.h: []IR_Reader_Test:18:11: fatal error: algorithm.h: No such file or directory



ResolveLibrary(algorithm.h)  #include <algorithm.h>



  -> candidates: []           ^~~~~~~~~~~~~



compilation terminated.

exit status 1

algorithm.h: No such file or directory

Perhaps you're trying to compile code meant to run on an ESP8266 with the IDE's board type set to Uno?

Arduino: 1.8.17 Hourly Build 2021/09/06 02:33 (Windows 10), Board: "Arduino Uno"
1 Like

Hi,

What model Arduino controller have you selected in your IDE?? UNO???

Tom... :smiley: :+1: :coffee: :australia:

I even didn't notice :slight_smile:

Tools->Board:->Arduino AVR Boards->Arduino Uno

The library IRremoteESP8266 can't be used with Uno

And then select from the right hand list.

Tom... :smiley: :+1: :coffee: :australia:

Does this mean this will not work with an Uno? Maybe Uno Wifi Rev2?

I want to use this because it has support for Fujitsu, which is the HVAC remote I'm trying to pull codes. IRremote seems to not function properly with my Fujitsu AR-RCF1U remote. The codes seem to be irregular or repetitive

Hi,

Yes, you need the hardware of the ESP8266 for the code to run.

Tom... :smiley: :+1: :coffee: :australia:

Well, that's a bummer. Thank you

Hope there's something that can run on an Uno and support Fujitsu, perhaps it can be added to IRremote from IRremoteESP8266?

Hi,
Google;

ir remote arduino uno

If you don't want Wifi etc.

Tom... :smiley::+1: :coffee: :australia:

Thank you.

Will try getting something working with a sample in IRremote

"algorithm" is part of the C++ standard template library (STL), and the #include <algorithm> syntax is correct.

ESP8266 Arduinos have access to that feature, but it's not implemented for AVRs (much of the usual STL depends on stuff that is unlikely to work very-low-memory CPUs like the AVR.)

There are IR libraries for Uno that will probably work fine.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.