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
Normal Topic IntelliSense Error with VS 2013 and ESP8266 (Read 6035 times)
Frogmore
Newbies
*
Offline


Posts: 2
Joined: Aug 29th, 2015
IntelliSense Error with VS 2013 and ESP8266
Aug 29th, 2015 at 10:46pm
Print Post  
Some months ago I used the then current version of VM and the ESP8266 stuff and it basically worked.  I have been trying to update to the newer versions of both VM and ESP8266.  It has not been trouble free.

I downloaded the new 1.6.5 version of the base Arduino code and gave it the new link for the boards manager.  It downloaded the new stuff.  But VM didn't seem to be using it.  I cleared out the folder in AppData\Roaming and started over and with a lot of clicking about was able to get something that sort of works.  The problem I am seeing is there are several IntelliSense errors with a brand new test file that has no real content.
Code
Select All
	1	IntelliSense: more than one instance of overloaded function "atexit" has 'C' linkage	47-g39819f0\cores\esp8266\Arduino.h	180	5	junk
	2	IntelliSense: cannot open source file "c_types.h"	47-g39819f0\cores\esp8266\esp8266_peri.h	24	1	junk
	3	IntelliSense: cannot open source file "ets_sys.h"	47-g39819f0\cores\esp8266\pgmspace.h	9	1	junk
	4	IntelliSense: cannot open source file "osapi.h"	47-g39819f0\cores\esp8266\pgmspace.h	10	1	junk
	5	IntelliSense: more than one instance of overloaded function "atoi" has 'C' linkage	47-g39819f0\cores\esp8266\stdlib_noniso.h	29	5	junk
	6	IntelliSense: more than one instance of overloaded function "atol" has 'C' linkage	47-g39819f0\cores\esp8266\stdlib_noniso.h	31	6	junk
	7	IntelliSense: more than one instance of overloaded function "atof" has 'C' linkage	47-g39819f0\cores\esp8266\stdlib_noniso.h	33	8	junk
 


If I double click on the errors that say "more than one instance" they disappear.  The others stay.  The missing files are in: 47-g39819f0\tools\sdk\include

The file compiles fine, as does a more useful set of files.

Any ideas what might be wrong?

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


Posts: 12167
Location: United Kingdom
Joined: Apr 10th, 2010
Re: IntelliSense Error with VS 2013 and ESP8266
Reply #1 - Aug 30th, 2015 at 6:34pm
Print Post  
Thanks for the report.

The intellisense engine has recently become more "intelligent" by attempting to discover include paths from the compiler definitions. In the case of the esp8266 the required tools sdk path is not in the defs. 

There is a new 1508.30 Sp1 release just published witch forces the sdk path into the intellisense system.

HOWEVER, please be aware that this is the switch over weekend for VS 2013. We have a new format for Visual Micro which uses the more reliable Visual Studio extension system. It should be a painless switch over for you.

  • Close Visual Studio
  • Uninstall Visual Micro from "Control panel>Add Or Remove programs".
  • Open Visual Studio and click "Tools>Extensions & Updates>Online". Find "Arduino for Visual Studio" in the click and click "Download/Install"
  • Re-start VS and Visual Micro should come back up but some tool bar commands might remain from the previous version (The tool bar names start with the word Arduino so easy to spot). You can click "Help>Cleanup Old Versions" to have any older commands removed. Or you can right click and delete tool bars manually.


Once you have done this you will be using a much better system and one that installs and uninstalls cleanly!

Look forward to hearing how the Esp8266 looks after update
« Last Edit: Aug 30th, 2015 at 6:35pm by Tim@Visual Micro »  
Back to top
IP Logged
 
Frogmore
Newbies
*
Offline


Posts: 2
Joined: Aug 29th, 2015
Re: IntelliSense Error with VS 2013 and ESP8266
Reply #2 - Sep 4th, 2015 at 4:25am
Print Post  
Thanks for the quick response.  I was able to try it with the new extension version.

I now with a new blank project I get the following errors:
Code
Select All
	1	IntelliSense: more than one instance of overloaded function "atexit" has 'C' linkage	47-g39819f0\cores\esp8266\Arduino.h	180	5	test5
	2	IntelliSense: more than one instance of overloaded function "atoi" has 'C' linkage	47-g39819f0\cores\esp8266\stdlib_noniso.h	29	5	test5
	3	IntelliSense: more than one instance of overloaded function "atol" has 'C' linkage	47-g39819f0\cores\esp8266\stdlib_noniso.h	31	6	test5
	4	IntelliSense: more than one instance of overloaded function "atof" has 'C' linkage	47-g39819f0\cores\esp8266\stdlib_noniso.h	33	8	test5
 



Also, it looks like the auto clean up did not clean up three items on the toolbar, but I was able to manually delete them easily enough.

I get lots more Intellisense errors on a real project, so many they wouldn't fit in this window.  After clicking them, I am left with the following:
Code
Select All
	1	IntelliSense: expected an identifier	cc\1.20.0-26-gb404fb9\xtensa-lx106-elf\include\c++\4.8.2\bits\stl_algobase.h	979	10	GasMeter
	2	IntelliSense: expected a ';'	cc\1.20.0-26-gb404fb9\xtensa-lx106-elf\include\c++\4.8.2\bits\stl_pair.h	293	1	GasMeter
	3	IntelliSense: first parameter of allocation function must be of type 'size_t'	cc\1.20.0-26-gb404fb9\xtensa-lx106-elf\include\c++\4.8.2\new	91	7	GasMeter
	4	IntelliSense: first parameter of allocation function must be of type 'size_t'	cc\1.20.0-26-gb404fb9\xtensa-lx106-elf\include\c++\4.8.2\new	93	7	GasMeter
	5	IntelliSense: first parameter of allocation function must be of type 'size_t'	cc\1.20.0-26-gb404fb9\xtensa-lx106-elf\include\c++\4.8.2\new	99	7	GasMeter
	6	IntelliSense: first parameter of allocation function must be of type 'size_t'	cc\1.20.0-26-gb404fb9\xtensa-lx106-elf\include\c++\4.8.2\new	101	7	GasMeter
	7	IntelliSense: first parameter of allocation function must be of type 'size_t'	cc\1.20.0-26-gb404fb9\xtensa-lx106-elf\include\c++\4.8.2\new	109	14	GasMeter
	8	IntelliSense: first parameter of allocation function must be of type 'size_t'	cc\1.20.0-26-gb404fb9\xtensa-lx106-elf\include\c++\4.8.2\new	111	14	GasMeter
 



Here is an example of what it is not happy about
Code (C++)
Select All
void* operator new(std::size_t) _GLIBCXX_THROW (std::bad_alloc)
  __attribute__((__externally_visible__));
void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc)
  __attribute__((__externally_visible__));
 


This is from the file new (no extension, which might be why it is confused).

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


Posts: 12167
Location: United Kingdom
Joined: Apr 10th, 2010
Re: IntelliSense Error with VS 2013 and ESP8266
Reply #3 - Sep 4th, 2015 at 8:00pm
Print Post  
I see what you mean. Right click the errors list and switch off intellisense errors for now.  The build errors will be accurate.

The intellisense "off" in the errors list you will still get the visual red underlines and tool tips showing code errors so it's not such a big loss.

Thanks
« Last Edit: Sep 4th, 2015 at 8:43pm by Tim@Visual Micro »  
Back to top
IP Logged
 
Page Index Toggle Pages: 1
Send TopicPrint