I met following error in compiler output ("Build view"). <command-line>:0:15: error: too many decimal points in number When I click into it new empty file is opened
I suffer from this bug too. When I click on an error line from compiler output, a new empty file opens instead of the actual source file. Are you using the Custom Buildsystem? And gcc?
I don't use "Custom Buildsystem". I use cmake type project with make, default environment price and gcc.
Hmmm... ok I don't know how cmake works, never used it. But I just found out that if `make` runs with --no-print-directory option, kdevelop gets confused as to where gcc is based when it runs. However if `make` prints lines like: make[2]: Entering directory '<some directory>' etc... then kdevelop finds and opens the relevant source file properly.
In short, cmake only generating "Makefile", so finally, it is still run make command to build source code.
This is build-system agnostic. We should just never attempt to open a new file when the output view is clicked. Check the code in kdevelop.git:outputview/outputmodel.cpp if you want to provide a patch for this issue.
Ok it's all clear now. Kdevelop simply parses the output from make and gcc to get the path to the source file. I used autotools and `make --no-print-directory` which deprived the parser of sufficient info as make descented into the subdirectories. I have found workarounds so I rest my case. But Piotr uses cmake which seem to produce full absolute paths. Piotr can you post the actual error line that you are clicking on?
As I mentioned in first post I clicked into line starting with: <command-line>:0:15: error: I didn't check source code ("outputview/outputmodel.cpp"), but I suppose that parser checking clicked line just tries to find first occurrence of ':' and if it finds it, interprets all characters before as file name. Probably parser blindly assumes that before ':' always is present file name. That's why opens empty file (and probably wants to jump to row 0). Of course in this case should open nothing. I suppose that parser just . It isn't smart enough. Anyway I reproduced error and I know what cased it.