User forums > Using Code::Blocks
Does not recompile changed header files?
jarod42:
If I put '.' in search directory. It works as expected.
else if I add '-I.' as build option, I get the "Nothing to be done message".
carra:
As expected, you are not having the bug because your depend file has an entry for General.hpp. So why does my C::B not create the entry and yours does? Jarod's last comment is interesting, and it may shed some light on this. But maybe some people here have knowledge on how depend files are generated.
Also, some of you may be suspecting of the line #include "..\..\General.hpp" but I can confirm this is not the cause: The sample project I uploaded is just an "adapted copy", but the real project I'm writing (which has the same bug) uses absolute paths, and its include line is a more standard #include <General.hpp>
oBFusCATed:
Do you have General.hpp in the filesystem or general.hpp?
Try matching the case.
On windows the case doesn't matter for files, but the dependency generator can be broken if the cases doesn't match.
carra:
Yes, cases do match in all file and folder names.
But I did find something new: I tried removing "General.hpp" from the project and my depend file changed to this:
--- Code: ---# depslib dependency file v1.0
1340201559 source:c:\programacion\ktools\sources\logstream\logstream.cpp
<LogStream.hpp>
<time.h>
<iostream>
1339684374 source:c:\programacion\librerias\ktools\sources\logstream\logstream.cpp
<LogStream.hpp>
<time.h>
<iostream>
--- End code ---
This time, LogStream.hpp is the one missing!! And even if I readd to the project, it keeps missing, so now the 2 headers are missing from *.depend.
This makes me think that the bug we have is one (or both) of the following:
(1) C::B fails to update depend file when some relevant project changes happen
(2) C::B is somehow failing to include the first file in the project. The first file, before changing (as shown below), was General.hpp. After removing it, the first file is LogStream.hpp.
<Unit filename="..\..\Headers\General.hpp" />
<Unit filename="..\..\Headers\LogStream.hpp" />
<Unit filename="LogStream.cpp" />
carra:
Some more info: it seems that the missing entries in depend file are not the cause of the problem but an effect. I replaced the depend file with an earlier version (which had all files included) and C::B is ignoring it: no rebuild when changing any of the headers.
... and I don't think there is much more I can do. I tried most things I can think of... I think this will need an analysis of the source code.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version