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 Error Reporting In Current VisualMicro Release? (Read 3619 times)
RayLivingston
Full Member
***
Offline


Posts: 158
Location: California
Joined: Nov 24th, 2012
Error Reporting In Current VisualMicro Release?
Mar 8th, 2013 at 3:52am
Print Post  
I've recently installed the latest VisualMicro, and I find some error messages are not being fully displayed.  For example, with one project, when I compile with VisualMicro, I get these errors:

Compiling 'ServoDriver10ATest' for 'Arduino Mega 2560 or Mega ADK'
ServoDriver10A.cpp : : In member function 'void ServoDriver10A::SetEncoderConfig(int, int, int, int, int)':
ServoDriver10A.cpp : EncoderBHandler'
ServoDriver10A.cpp : *)()' to 'void (*)()' for argument '2' to 'void attachInterrupt(uint8_t, void (*)(), int)'
ServoDriver10A.cpp : EncoderAHandler'
ServoDriver10A.cpp : *)()' to 'void (*)()' for argument '2' to 'void attachInterrupt(uint8_t, void (*)(), int)'
ServoDriver10A.cpp : EncoderAHandler'
ServoDriver10A.cpp : *)()' to 'void (*)()' for argument '2' to 'void attachInterrupt(uint8_t, void (*)(), int)'
Error compiling

When I compile the same project using the Arduino IDE, I get the following, which is infinitely more helpful:









C:\Documents and Settings\RayL\My Documents\Arduino\libraries\ServoDriver10A\ServoDriver10A.cpp: In member function 'void ServoDriver10A::SetEncoderConfig(int, int, int, int, int)':
C:\Documents and Settings\RayL\My Documents\Arduino\libraries\ServoDriver10A\ServoDriver10A.cpp:65: error: ISO C++ forbids taking the address of an unqualified or parenthesized non-static member function to form a pointer to member function.  Say '&ServoDriver10A::EncoderBHandler'
C:\Documents and Settings\RayL\My Documents\Arduino\libraries\ServoDriver10A\ServoDriver10A.cpp:65: error: cannot convert 'void (ServoDriver10A::*)()' to 'void (*)()' for argument '2' to 'void attachInterrupt(uint8_t, void (*)(), int)'
C:\Documents and Settings\RayL\My Documents\Arduino\libraries\ServoDriver10A\ServoDriver10A.cpp:67: error: ISO C++ forbids taking the address of an unqualified or parenthesized non-static member function to form a pointer to member function.  Say '&ServoDriver10A::EncoderAHandler'
C:\Documents and Settings\RayL\My Documents\Arduino\libraries\ServoDriver10A\ServoDriver10A.cpp:67: error: cannot convert 'void (ServoDriver10A::*)()' to 'void (*)()' for argument '2' to 'void attachInterrupt(uint8_t, void (*)(), int)'
C:\Documents and Settings\RayL\My Documents\Arduino\libraries\ServoDriver10A\ServoDriver10A.cpp:69: error: ISO C++ forbids taking the address of an unqualified or parenthesized non-static member function to form a pointer to member function.  Say '&ServoDriver10A::EncoderAHandler'
C:\Documents and Settings\RayL\My Documents\Arduino\libraries\ServoDriver10A\ServoDriver10A.cpp:69: error: cannot convert 'void (ServoDriver10A::*)()' to 'void (*)()' for argument '2' to 'void attachInterrupt(uint8_t, void (*)(), int)'

Any ideas?

Regards,
Ray L.
« Last Edit: Mar 8th, 2013 at 3:52am by RayLivingston »  
Back to top
 
IP Logged
 
Tim@Visual Micro
Administrator
*****
Offline


Posts: 12191
Location: United Kingdom
Joined: Apr 10th, 2010
Re: Error Reporting In Current VisualMicro Release?
Reply #1 - Mar 8th, 2013 at 12:54pm
Print Post  
Hi,

Yes, especially when the error is in a library vm is not producing a very useful message. This is fixed and will be released in the next version due shortly.

There are a couple of short term things that might help you.

1) Each Arduino error appears as a few lines. Double clicking at least one of the lines should take you to the correct source code file and line.

2) Switching on "File>Preferences>External Editor" in the Arduino IDE will allow you to have the same sketch open in both VS and Arduino at the same time. When you click compile in the Arduino IDE it will auto-reload changes made in VS and attempt to compile. Then you will see better error messages. This solution can be used whenever you hit a "poor" error report in VS

I hope this helps you in the short term

Thanks
  
Back to top
IP Logged
 
RayLivingston
Full Member
***
Offline


Posts: 158
Location: California
Joined: Nov 24th, 2012
Re: Error Reporting In Current VisualMicro Release?
Reply #2 - Mar 8th, 2013 at 3:33pm
Print Post  
Tim,

Thanks, that's pretty much what I've been doing the last few days.  I'll watch for the new version.

Regards,
Ray L.
  
Back to top
 
IP Logged
 
Page Index Toggle Pages: 1
Send TopicPrint