gcc : link error doesn't show error

CodeLite installation/troubleshooting forum
jfouche
CodeLite Guru
Posts: 351
Joined: Mon Oct 20, 2008 7:26 pm
Genuine User: Yes
IDE Question: C++
Location: France
Contact:

gcc : link error doesn't show error

Post by jfouche »

Hi

I saw that gcc linker errors are not see by codelite :

Code: Select all

./Release/rng.o:rng.cpp:(.text$_ZN3xml3rng6ParserD0Ev[xml::rng::Parser::~Parser()]+0x31): undefined reference to `xml::IParser::~IParser()'
collect2: ld returned 1 exit status
mingw32-make.exe[1]: *** [../bin/setup] Error 1
mingw32-make.exe: *** [All] Error 2
0 errors, 0 warnings, total time: 00:00:14 seconds
----------Build Ended----------
Do I have to change something in CL to see this as an error ?
--
Jérémie
Jérémie
User avatar
eranif
CodeLite Plugin
Posts: 6372
Joined: Wed Feb 06, 2008 9:29 pm
Genuine User: Yes
IDE Question: C++
Contact:

Re: gcc : link error doesn't show error

Post by eranif »

Basically, you need to create a regex from this pattern and set it in settings -> build settings -> error pattern

Eran
Make sure you have read the HOW TO POST thread
sdolim
CodeLite Veteran
Posts: 69
Joined: Fri Oct 24, 2008 10:29 pm
Contact:

Re: gcc : link error doesn't show error

Post by sdolim »

Also, errors emitted by make itself (for example, "no way to make target X needed by Y") are not seen as errors. Other tools used in custom builds, like yacc, can also produce different kinds of errors. So we might want to generalize the current regex settings, which support only compiler errors and warnings.

Perhaps a table with these columns: Tool, Status, Regexp, FileGrp, LineGrp. The meaning of each of these columns is:
- Tool: type in the name of the tool that gives the error/warning to be recognized by the following regexp (gcc, ld, make, yacc,...)
- Status: choose from Error or Warning radio buttons (maybe Note too -- I've seen some gcc messages with this. Would need a 3rd color)
- Regexp: type in the regexp in this column, with groups for catching filename and line number (if any)
- FileGrp: type the number of which group in the Regexp that matches the filename (leave blank if none)
- LineGrp: type the number of which group in the Regexp that matches the line number (leave blank if none)

With a table, the user can enter as many entries as needed to cover the tools used by the project. Also, some tools emit different kinds of error messages. It is hard to write a single regexp to match them all. With a table, you can split them into multiple entries, with a simpler regexp for each.

Currently in the Build Tab we are just checking two regexps. This could be changed to iterate over the table and try each regexp entry. The output could highlight the tool's name in the error line by bolding it too.

Scott
Post Reply