Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error during compilation for NodeMCU (12.1E) #207

Open
sariyamon opened this issue Jun 9, 2021 · 1 comment
Open

Error during compilation for NodeMCU (12.1E) #207

sariyamon opened this issue Jun 9, 2021 · 1 comment

Comments

@sariyamon
Copy link

sariyamon commented Jun 9, 2021

I am working on ArduinoIoTColud project and I'm using the auto-generated script from the ArduinoIotCloud.
The following error occurred during the compilation.

Code

#include "arduino_secrets.h"

_/* 
  Sketch generated by the Arduino IoT Cloud Thing 
  https://create.arduino.cc/cloud/things/

  Arduino IoT Cloud Variables description

  The following variables are automatically generated and updated when changes are made to the Thing

  CloudLight switch1;
  CloudLight switch3;
  CloudTemperatureSensor temp;
  CloudLight switch2;

  Variables which are marked as READ/WRITE in the Cloud Thing will also have functions
  which are called when their values are changed from the Dashboard.
  These functions are generated with the Thing and added at the end of this sketch.
*/

#include "thingProperties.h"

void setup() {
  // Initialize serial and wait for port to open:
  Serial.begin(9600);
  // This delay gives the chance to wait for a Serial Monitor without blocking if none is found
  delay(1500); 

  // Defined in thingProperties.h
  initProperties();

  // Connect to Arduino IoT Cloud
  ArduinoCloud.begin(ArduinoIoTPreferredConnection);
  
  /*
     The following function allows you to obtain more information
     related to the state of network and IoT Cloud connection and errors
     the higher number the more granular information you’ll get.
     The default is 0 (only errors).
     Maximum is 4
 */
  setDebugMessageLevel(2);
  ArduinoCloud.printDebugInfo();
}

void loop() {
  ArduinoCloud.update();
  // Your code here 
  
  
}

void onSwitch1Change() {
  // Do something
}


void onSwitch2Change() {
  // Do something
}


void onSwitch3Change() {
  // Do something
}_

Error Details

Arduino: 1.8.15 (Windows 10), Board: "NodeMCU 1.0 (ESP-12E Module), 80 MHz, Flash, Disabled (new aborts on oom), Disabled, All SSL ciphers (most compatible), 32KB cache + 32KB IRAM (balanced), Use pgm_read macros for IRAM/PROGMEM, 4MB (FS:2MB OTA:~1019KB), 2, v2 Lower Memory, Disabled, None, Only Sketch, 115200"

C:\Users\xxx\Documents\Arduino\libraries\ArduinoIoTCloud\src\cbor\lib\tinycbor\src\cborpretty.c: In function 'hexDump':

C:\Users\xxx\Documents\Arduino\libraries\ArduinoIoTCloud\src\cbor\lib\tinycbor\src\cborpretty.c:195:32: error: expected ')' before '__INT8'

  195 |         err = stream(out, "%02" PRIx8, *buffer++);

      |                                ^

      |                                )

C:\Users\xxx\Documents\Arduino\libraries\ArduinoIoTCloud\src\cbor\lib\tinycbor\src\cborpretty.c: In function 'utf8EscapedDump':

C:\Users\xxx\Documents\Arduino\libraries\ArduinoIoTCloud\src\cbor\lib\tinycbor\src\cborpretty.c:251:39: error: expected ')' before '__INT32'

  251 |             err = stream(out, "\\u%04" PRIX32 "\\u%04" PRIX32,

      |                                       ^

      |                                       )

C:\Users\xxx\Documents\Arduino\libraries\ArduinoIoTCloud\src\cbor\lib\tinycbor\src\cborpretty.c:257:39: error: expected ')' before '__INT32'

  257 |             err = stream(out, "\\u%04" PRIX32, uc);

      |                                       ^

      |                                       )

C:\Users\xxx\Documents\Arduino\libraries\ArduinoIoTCloud\src\cbor\lib\tinycbor\src\cborpretty.c: In function 'value_to_pretty':

C:\Users\xxx\Documents\Arduino\libraries\ArduinoIoTCloud\src\cbor\lib\tinycbor\src\cborpretty.c:382:34: error: expected ')' before '__INT64'

  382 |             err = stream(out, "%" PRIu64, val);

      |                                  ^

      |                                  )

C:\Users\xxx\Documents\Arduino\libraries\ArduinoIoTCloud\src\cbor\lib\tinycbor\src\cborpretty.c:387:39: error: expected ')' before '__INT64'

  387 |                 err = stream(out, "-%" PRIu64, val);

      |                                       ^

      |                                       )

C:\Users\xxx\Documents\Arduino\libraries\ArduinoIoTCloud\src\cbor\lib\tinycbor\src\cborpretty.c:457:30: error: expected ')' before '__INT64'

  457 |         err = stream(out, "%" PRIu64 "%s(", tag, get_indicator(it, flags));

      |                              ^

      |                              )

C:\Users\xxx\Documents\Arduino\libraries\ArduinoIoTCloud\src\cbor\lib\tinycbor\src\cborpretty.c:473:37: error: expected ')' before '__INT8'

  473 |         err = stream(out, "simple(%" PRIu8 ")", simple_type);

      |                                     ^

      |                                     )

C:\Users\xxx\Documents\Arduino\libraries\ArduinoIoTCloud\src\cbor\lib\tinycbor\src\cborpretty.c:531:36: error: expected ')' before '__INT64'

  531 |             err = stream(out, "%s%" PRIu64 ".%s", val < 0 ? "-" : "", ival, suffix);

      |                                    ^

      |                                    )

C:\Users\xxx\Documents\Arduino\libraries\ArduinoIoTCloud\src\cbor\lib\tinycbor\src\cbortojson.c: In function 'add_value_metadata':

C:\Users\xxx\Documents\Arduino\libraries\ArduinoIoTCloud\src\cbor\lib\tinycbor\src\cbortojson.c:297:39: error: expected ')' before '__INT64'

  297 |         if (fprintf(out, "\"tag\":\"%" PRIu64 "\"%s", status->lastTag,

      |                                       ^

      |                                       )

C:\Users\xxx\Documents\Arduino\libraries\ArduinoIoTCloud\src\cbor\lib\tinycbor\src\cbortojson.c:316:40: error: expected ')' before '__INT64'

  316 |         if (fprintf(out, ",\"v\":\"%c%" PRIx64 "\"", flags & NumberWasNegative ? '-' : '+',

      |                                        ^

      |                                        )

C:\Users\xxx\Documents\Arduino\libraries\ArduinoIoTCloud\src\cbor\lib\tinycbor\src\cbortojson.c: In function 'tagged_value_to_json':

C:\Users\xxx\Documents\Arduino\libraries\ArduinoIoTCloud\src\cbor\lib\tinycbor\src\cbortojson.c:351:35: error: expected ')' before '__INT64'

  351 |         if (fprintf(out, "{\"tag%" PRIu64 "\":", tag) < 0)

      |                                   ^

      |                                   )

C:\Users\xxx\Documents\Arduino\libraries\ArduinoIoTCloud\src\cbor\lib\tinycbor\src\cbortojson.c:359:39: error: expected ')' before '__INT64'

  359 |             if (fprintf(out, ",\"tag%" PRIu64 "$cbor\":{", tag) < 0 ||

      |                                       ^

      |                                       )

C:\Users\xxx\Documents\Arduino\libraries\ArduinoIoTCloud\src\cbor\lib\tinycbor\src\cbortojson.c: In function 'value_to_json':

C:\Users\xxx\Documents\Arduino\libraries\ArduinoIoTCloud\src\cbor\lib\tinycbor\src\cbortojson.c:578:38: error: expected ')' before '__INT8'

  578 |         if (fprintf(out, "\"simple(%" PRIu8 ")\"", simple_type) < 0)

      |                                      ^

      |                                      )

C:\Users\xxx\Documents\Arduino\libraries\ArduinoIoTCloud\src\cbor\lib\tinycbor\src\cbortojson.c:637:39: error: expected ')' before '__INT64'

  637 |                 r = fprintf(out, "%s%" PRIu64, val < 0 ? "-" : "", ival);

      |                                       ^

      |                                       )

exit status 1

Error compiling for board NodeMCU 1.0 (ESP-12E Module).

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

@thiagomacieira
Copy link
Member

Looks like your C99 support library (inttypes.h) is broken. Can you try to compile this simple application and let me know of the results:

#include <inttypes.h>
#include <limits.h>
#include <stdint.h>
#include <stdio.h>

int main()
{
    uint64_t u = UINT64_MAX;
    int64_t i = INT64_MIN;
    printf("u = %" PRIu64 "; i = %" PRId64 "\n", u, i);
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants