Before logging an issue, please update to the latest release of Visual Micro from the Downloads Page.

When Logging a Support Issue in the Forum, please ensure you have also:-

  • Enabled vMicro > Compiler > Show Build Properties
  • Re-Compile your program with these settings enabled
 
Save the new Output to a Text File and....
  • Click the Reply button and attach as .txt file OR
  • Click here to Email us with the file attached, and a link to your post
Support requests without the output above may be impossible to answer, so please help us to help you
 
Page Index Toggle Pages: 1 Send TopicPrint
Hot Topic (More than 8 Replies) Trouble with 1805.12.3 (Read 4646 times)
drs
Junior Member
**
Offline


Posts: 26
Joined: Mar 20th, 2018
Trouble with 1805.12.3
May 14th, 2018 at 6:13pm
Print Post  
Hi,

I have a ESP32 project.
I installed new version today but I only get trouble.

1. some compiler warnings (in previous version), e.g. unsigned int vs. int, conversation are now marked as error... I'm anable to compile & link

2. the linker exit with linker errors 
e.g. WebRequest.cpp.o*: In function AsyncWebServerRequest::_onDisconnect()
FS.h:47: undefined reference to AsyncWebServer  _handleDisconnect(AsyncWebServerRequest*)

It was working in previous version.

I did rescan toolchain and libs and also clean the project an recompile ... but same ..

So whats wrong? Did I miss something?

Please help

Rgds

EDIT: I have installed 1805.14.1 ... odd this is not on your list
« Last Edit: May 14th, 2018 at 6:17pm by drs »  
Back to top
 
IP Logged
 
drs
Junior Member
**
Offline


Posts: 26
Joined: Mar 20th, 2018
Re: Trouble with 1805.12.3
Reply #1 - May 14th, 2018 at 6:28pm
Print Post  
how can I rollback to previous version?
« Last Edit: May 14th, 2018 at 6:28pm by drs »  
Back to top
 
IP Logged
 
drs
Junior Member
**
Offline


Posts: 26
Joined: Mar 20th, 2018
Re: Trouble with 1805.12.3
Reply #2 - May 14th, 2018 at 7:31pm
Print Post  
What in the hell ...



json.c: In function emit_number
 
json.c: 1270:2: error: implicit declaration of function 'dtostrf' [-Werror=implicit-function-declaration]
   dtostrf(num, 0, decimals, buf)
cc1.exe*: some warnings being treated as errors

-----------------------------------------

quigg_gt1000.c: In function createCode
 
quigg_gt1000.c: 336:23: error: implicit declaration of function 'time' [-Werror=implicit-function-declaration]
   srand((unsigned int)time (0)); \* seed the random generator with current time *
 
aprintf.h:22: In file included from
pilight.h:27: from
quigg_gt1000.c:53: from
 
pgmspace.h: 36:23: error: format '%d' expects argument of type 'int', but argument 3 has type 'int (*)(void)' [-Werror=format=]
   #define PSTR(s)       (s)
aprintf.h:27: note  in expansion of macro PSTR
   #define printf(fmt, ...) aprintf_P(PSTR(fmt), ##__VA_ARGS__)
log.h:35: note  in expansion of macro printf
   ", prio);printf(args);printf("\n");}
quigg_gt1000.c:369: note  in expansion of macro logprintf
   raw index not correct %d %d",quigg_gt1000->rawlen,fillRawCode)
cc1.exe*: some warnings being treated as errors
  
Back to top
 
IP Logged
 
Tim@Visual Micro
Administrator
*****
Offline


Posts: 12191
Location: United Kingdom
Joined: Apr 10th, 2010
Re: Trouble with 1805.12.3
Reply #3 - May 14th, 2018 at 7:58pm
Print Post  
Sorry for the delay

If you post which esp toolchain you have installed then that will help.

To save questions then please zip and email your project to info[at]visualmicro.com. The code will remain private and will be deleted after this test.

and please say which Ide you are using.

Thanks

« Last Edit: May 15th, 2018 at 12:31pm by Tim@Visual Micro »  
Back to top
IP Logged
 
drs
Junior Member
**
Offline


Posts: 26
Joined: Mar 20th, 2018
Re: Trouble with 1805.12.3
Reply #4 - May 15th, 2018 at 5:24am
Print Post  
> Sorry for the delay
no problem ... I dont expect that you working entire night Smiley

> If you post which esp toolchain you have installed then that will help.
master branch of https://github.com/espressif/arduino-esp32

> and please say which Ide you are using.
newest VS2017 Community v. 15.7.1

--------------------------------------------
rgd. 1) The problem still remains. I disabled vmicro-compiler-Warnings for project, Warnings for Libraries and Warnings for Core
Now its compiling without "cc1.exe*: some warnings being treated as errors". Did you somewhere in that options set -WError ???

rgd. 2) I could fix the 2nd point with linker options by restructuring my project a bit. Interesting, it was working before with old version. So, linking is not problem anymore.
EDIT: Reason was that I'm using https://github.com/bbx10/WiFiManager/tree/esp32 in parallel to ESPAsyncWebserver... Linker got confused in resolving the correct libs...

-------------------------------------
I will try new version tonight ...

Rgds
« Last Edit: May 15th, 2018 at 5:27am by drs »  
Back to top
 
IP Logged
 
Tim@Visual Micro
Administrator
*****
Offline


Posts: 12191
Location: United Kingdom
Joined: Apr 10th, 2010
Re: Trouble with 1805.12.3
Reply #5 - May 15th, 2018 at 12:30pm
Print Post  
In the last release the warnings were changed to match how the arduino ide works so shouldn't be an issue.

We have done a lot of testing with expressif esp32 and had no problems.

I was testing with the WiFiManager and found the bbx10 version. However I wasn't happy with it so continued looking and found the original author of the WiFiManager has an esp32 version in his dev stream not his main git stream.

I didn't see the ESPAsyncWebServer but did see that the original author has replacements for some of the original espressif esp32 core that you are using.

I combined the WiFiManager, OTA and WebServer into a single espressif core which you can replace in entirety or in part from this zip (I guess you have installed in mydocuments/arduino.espressif)

Core
https://1drv.ms/u/s!AsT00oFsGAmRk9N2HkoC80JBv763zg


Project - WiFi Test Gadget
https://1drv.ms/u/s!AsT00oFsGAmRk9N1gibVj1Wh7jIvAA

The project should handle the WiFiManager part and if you do not specify an IP address then DHCP is used to auto assign. You probably already know this. You can also send "r" over serial to reset into WiFiManager mode.

Notice the board.txt in the project sets the auth and port for OTA upload so if you set the upload port to the assigned IP address your OTA should work.

You might then find your asynWebServer works okay with or without the Gadget project.

  
Back to top
IP Logged
 
drs
Junior Member
**
Offline


Posts: 26
Joined: Mar 20th, 2018
Re: Trouble with 1805.12.3
Reply #6 - May 16th, 2018 at 5:35am
Print Post  
Hallo,
... and thanks for the effort ...

>In the last release the warnings were changed to match how the arduino ide works so shouldn't be an issue. 
You are right. If I switch on all compiler warnings in Arduino IDE preferences I get same results.
However, I personally think its stupid since I want to see the warnings, yes, but not thread it as error and stop compiler process. Could you make an option to disable the -WError flag if all warnings switch on? Reason: The remaining warnings (errors) relate to core libs only. I cannot change this....so why stopping compiler process? 

> I will try new version tonight ...
I tested 14.2 last night. There is no difference for me since I restructured my project.

> I combined the WiFiManager, OTA and WebServer into a single espressif core which you can replace in entirety or in part from this zip (I guess you have installed in mydocuments/arduino.espressif)

Hey, cool! Thanks for the wifigadget code. You should publish on git.
My code is a bit different ... I also have no MQTT and no ArduinoOTA. Anyhow, I will test later when other issues (not related to vmicro) have been resolved:
https://github.com/me-no-dev/ESPAsyncWebServer/issues/361

Furthermore, thanks for the hint that I could place libs directly into the toolchain libraries directory. Normally, I use Arduino IDE to get the libs and they are placed all (esp8266 and ESP32) into my projects/libraries directory ... which sometimes brings some troubles... 

Thanks and BR

drs
  
Back to top
 
IP Logged
 
Acuario
Senior Member
****
Offline


Posts: 256
Location: Spain
Joined: Aug 28th, 2015
Re: Trouble with 1805.12.3
Reply #7 - May 16th, 2018 at 5:44am
Print Post  
Hi,

I had exactly the same problem and after much searching I found the solution.

In my project I had a WebServer.cpp and WebServer.h files that I had created. 

With the new local project source code overrides my code was overriding the AsyncWebserver code. I changed the names of my two files and everything now is back to normal.

Acuario
  
Back to top
 
IP Logged
 
Tim@Visual Micro
Administrator
*****
Offline


Posts: 12191
Location: United Kingdom
Joined: Apr 10th, 2010
Re: Trouble with 1805.12.3
Reply #8 - May 16th, 2018 at 9:30am
Print Post  
Thanks both for the update.

@Acuario, very useful note thanks. Yes, I think Visual Micro should now do what the arduino ide does which is allow library files to be overridden. It's in the release notes but is going to cause some issues. Do you think this is a good change for visual micro or a problem?

@drs warnings: I need to understand what the default should be and can probably add a menu item. You can put thse in a board.txt in the project. Visual Micro uses "compiler.warning_flags.more" when warnings are enabled.

compiler.warning_flags.none=-w
compiler.warning_flags.more=-Wall

Change compiler.warning_flags.more= then click save then build.
  
Back to top
IP Logged
 
Acuario
Senior Member
****
Offline


Posts: 256
Location: Spain
Joined: Aug 28th, 2015
Re: Trouble with 1805.12.3
Reply #9 - May 16th, 2018 at 3:19pm
Print Post  
Hi,
for me it was a problem that had me trying all sorts before I found the solution. I don't use the Arduino IDE - why would I when VM is far superior - I don't think I've ever used it for anything serious so I really don't care how it works..

Yes, it's in the release notes but... and when a project previously compiled without errors then suddenly blows up with a gazillion errors you enter in panic mode..

Maybe a better way if possible is a scan of the project files to see if there are any conflicting file names between the project and the libraries. After all, as in my case, WebServer.cpp/.h is not a library file or header I'm including but by pure coincidence happens to be one of the included files in AsyncWebServer library so it made the error more difficult to track down. 


Acuario
  
Back to top
 
IP Logged
 
Tim@Visual Micro
Administrator
*****
Offline


Posts: 12191
Location: United Kingdom
Joined: Apr 10th, 2010
Re: Trouble with 1805.12.3
Reply #10 - May 16th, 2018 at 3:28pm
Print Post  
Makes perfect sense.

I agree a breakage is never good, however if it is broken in terms of different to the arduino ide then it's a confusion and large support issue.

Having said that you are right anyway...

I should have added a menu item to enable the feature to be selective enabled/disabled and also it's a good idea  to show an output message during compile such as "Ignoring library code "foo.cpp" because it exists in the project"

Dunno why I didn't think of that before, will do and sorry about the messing.
« Last Edit: May 16th, 2018 at 3:29pm by Tim@Visual Micro »  
Back to top
IP Logged
 
Page Index Toggle Pages: 1
Send TopicPrint