Hi Jussi,
I recently upgraded from an old Zeus. In the old version, after a make, I used to be able to double click on warnings and Zeus would switch to the line and window of the warning. Warning were treated like errors. This no longer works. Here are 2 examples
EXAMPLE #1
Here's a warning line from the compiler
.\i_mail.cpp(1325) : warning C4552: '!=' : operator has no effect; expected operator with side-effect
Double clicking does nothing
A similar line that is an error works correctly on a double click
.\i_mail.cpp(1343) : error C2065: 'dfld' : undeclared identifier
EXAMPLE #2
This warning line was generated from adding #pragma message(WARNING_STRING "DEBUG-") to the code. WARNING_STRING is a macro
#define Stringize( L ) #L
#define MakeString( M, L ) M(L)
#define $Line MakeString( Stringize, __LINE__ )
#define WARNING_STRING "Warning: "__FILE__ "(" $Line ")"
The compiler outputs this in response
Warning: .\i_mail.cpp(1327)DEBUG-
Double clicking opens a new tool window call dir *.* /OGN. Previously, it would have taken me to line 1327 of i_mail.cpp
No Navigation from Project Make Window
Re: No Navigation from Project Make Window
This Zeus behaviour is controlled by a set of default regular expressions that are built into Zeus and these default expressions try to understand compiler output.
As you can imagine, compiler build output has changed over the years and that means these default expressions have changed to suit.
What you are seeing is these new versions of those expressions no longer understand your compiler output.
To fix this you need to provide you own expressions and this can be done by editing the document type, selecting the compiler section and adding in new expressions.
In your case you would be editing the C/C++ document type and add in Compiler section adding in these new expressions:
Warnings Regexp
Errors Regexp
Line Number Regexp
NOTE: To test an expression just do a regular expression search inside the compiler output window using each expression in turn, and they should only locate the error, warning and line number information. You may need to tweak these expressions to suit.
Cheers Jussi
As you can imagine, compiler build output has changed over the years and that means these default expressions have changed to suit.
What you are seeing is these new versions of those expressions no longer understand your compiler output.
To fix this you need to provide you own expressions and this can be done by editing the document type, selecting the compiler section and adding in new expressions.
In your case you would be editing the C/C++ document type and add in Compiler section adding in these new expressions:
Warnings Regexp
Code: Select all
(.*\.[a-z]+\([0-9]+\) : warn)|(Warning: .*\.[a-z]+\([0-9]+\))
Code: Select all
.*\.[a-z]+\([0-9]+\) : error
Code: Select all
\(([0-9]+\)) :
Cheers Jussi
Re: No Navigation from Project Make Window
Hi Jussi,
With a variation of your reply, I was able to get it working. I had to edit the default doc type, not the C++. I changed my macro that formats the warning to generate the exact same format as an error, except saying warning instead of error. Then I copied your error regular expression string to warning field, changing the word error in the regular expression string to warning. Now it works as expected. Thanks for the help and providing the regular expression strings. I have no experience with regular expressions and it would have taken much longer to figure that out.
With a variation of your reply, I was able to get it working. I had to edit the default doc type, not the C++. I changed my macro that formats the warning to generate the exact same format as an error, except saying warning instead of error. Then I copied your error regular expression string to warning field, changing the word error in the regular expression string to warning. Now it works as expected. Thanks for the help and providing the regular expression strings. I have no experience with regular expressions and it would have taken much longer to figure that out.
Re: No Navigation from Project Make Window
FWI the Zeus help file has some basic instructions on using regular expressions.I have no experience with regular expressions and it would have taken much longer to figure that out.
You can find these by opening the Zeus help file and then using the Index and searching for Regular Expressions.
While they might look a lot like Voodoo Magic, with some practice they are actually fairly easy to write and to understand.
And better still, they do come in handy every once in a while.
Cheers Jussi