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 ESP32 E0070: incomplete type is not allowed and E0075: operand of '*' must be a pointer (Read 2355 times)
paulnd
Newbies
*
Offline


Posts: 3
Joined: Feb 3rd, 2019
ESP32 E0070: incomplete type is not allowed and E0075: operand of '*' must be a pointer
Dec 7th, 2020 at 9:58am
Print Post  
Hello,

I'm compiling for a ESP32 board for the first and encoutering these errors

"E0070 incomplete type is not allowed xtruntime-core-state.h  lines 166-171" which is this line STRUCT_AFIELD_A(char,1,XCHAL_CP0_SA_ALIGN,CS_SA_,cp0,XCHAL_CP0_SA_SIZE)

"E0075 operand of '*' must be a pointer random.h lines 80-82"

"E0075 operand of '*' must be a pointerstl_bvector.h line 68"

I found this when googling the first error https://github.com/espressif/esp-idf/issues/2744 which suggested that its a Visual Micro configuration error?

I'll be grateful for suggestions/assistance please on how to resolve these errors.

Thanks Paul
« Last Edit: Dec 7th, 2020 at 10:07am by paulnd »  
Back to top
 
IP Logged
 
Simon@Visual Micro
Administrator
*****
Offline


Posts: 2174
Joined: Feb 13th, 2019
Re: ESP32 E0070: incomplete type is not allowed and E0075: operand of '*' must be a pointer
Reply #1 - Dec 7th, 2020 at 10:20am
Print Post  
Thanks for the report.

Can you attach the contents of the Output > Micro Build window, with the settings shown at the top of this page, for a clean build?

If it is possible to supply the sketch in use it would help greatly with our investigation.
  
Back to top
 
IP Logged
 
paulnd
Newbies
*
Offline


Posts: 3
Joined: Feb 3rd, 2019
Re: ESP32 E0070: incomplete type is not allowed and E0075: operand of '*' must be a pointer
Reply #2 - Dec 7th, 2020 at 12:30pm
Print Post  
Hello, it seems that these errors only appear in the error list but don't prevent the project from being built.

I am now encountering other errors in the build after adding libraries

Error list
Code
Select All
Severity	Code	Description	Project	File	Line	Suppression State
Error (active)	E1696	cannot open source file "Update.h"	RollerBlind_Single	ries\ArduinoOTA\src\ArduinoOTA.h	6
Error (active)	E1696	cannot open source file "AsyncTCP.h"	RollerBlind_Single	E:\Documents\Arduino\libraries\fauxmoESP\src\fauxmoESP.h	64
Error		64:26: fatal error: AsyncTCP.h: No such file or directory		E:\Documents\Arduino\libraries\fauxmoESP\src\fauxmoESP.h	64
Error (active)	E0070	incomplete type is not allowed	RollerBlind_Single	\sdk\include\esp32\xtensa\xtruntime-core-state.h	166
Error (active)	E0070	incomplete type is not allowed	RollerBlind_Single	\sdk\include\esp32\xtensa\xtruntime-core-state.h	167
Error (active)	E0070	incomplete type is not allowed	RollerBlind_Single	\sdk\include\esp32\xtensa\xtruntime-core-state.h	168
Error (active)	E0070	incomplete type is not allowed	RollerBlind_Single	\sdk\include\esp32\xtensa\xtruntime-core-state.h	169
Error (active)	E0070	incomplete type is not allowed	RollerBlind_Single	\sdk\include\esp32\xtensa\xtruntime-core-state.h	170
Error (active)	E0070	incomplete type is not allowed	RollerBlind_Single	\sdk\include\esp32\xtensa\xtruntime-core-state.h	171
Error (active)	E0075	operand of '*' must be a pointer	RollerBlind_Single	\1.22.0-80-g6c4433a-5.2.0\xtensa-esp32-elf\include\c++\5.2.0\bits\random.h	80
Error (active)	E0075	operand of '*' must be a pointer	RollerBlind_Single	\1.22.0-80-g6c4433a-5.2.0\xtensa-esp32-elf\include\c++\5.2.0\bits\random.h	81
Error (active)	E0075	operand of '*' must be a pointer	RollerBlind_Single	\1.22.0-80-g6c4433a-5.2.0\xtensa-esp32-elf\include\c++\5.2.0\bits\random.h	82
Error (active)	E0135	namespace "std" has no member "nothrow_t"	RollerBlind_Single	e.h	836
Error (active)	E0075	operand of '*' must be a pointer	RollerBlind_Single	\1.22.0-80-g6c4433a-5.2.0\xtensa-esp32-elf\include\c++\5.2.0\bits\stl_bvector.h	68
Warning		compilation terminated
Warning		In file included from		E:\Documents\Visual Studio 2017\Arduino\RollerBlind_Single\RollerBlind_Single.ino	5
 



Build output and sketch are attached

« Last Edit: Dec 7th, 2020 at 12:30pm by paulnd »  

Please Register or Login to the Forum to see File Attachments
Back to top
 
IP Logged
 
Tim@Visual Micro
Administrator
*****
Offline


Posts: 12076
Location: United Kingdom
Joined: Apr 10th, 2010
Re: ESP32 E0070: incomplete type is not allowed and E0075: operand of '*' must be a pointer
Reply #3 - Dec 7th, 2020 at 8:04pm
Print Post  
There are probably two seperate issues. One is a build error because the AsyncTCP library can't be found. Do you have it installed? It is here if not.

https://github.com/me-no-dev/AsyncTCP/archive/master.zip

The other is confusion with the Visual Studio intellisense that is seperate to the build process. It is possible to alter the combo box above the errors list to "Build Only". Then you will only see the more accurate build errors. Alternatively above the errors list is another combo that can be set to Project Only, that will exclude the underlying sources from intellisense error reporting.



  
Back to top
WWW  
IP Logged
 
paulnd
Newbies
*
Offline


Posts: 3
Joined: Feb 3rd, 2019
Re: ESP32 E0070: incomplete type is not allowed and E0075: operand of '*' must be a pointer
Reply #4 - Dec 8th, 2020 at 5:46pm
Print Post  
thanks for your help
  
Back to top
 
IP Logged
 
Page Index Toggle Pages: 1
Send TopicPrint