Main.rc
MyResourceIDs.h
OtherInfo.h
Strings.rc
Strings.h
OtherStuff.rc
OtherStuff.h
I.e., Main.rc #includes MyResourceIDs.h, Strings.rc, and OtherStuff.rc.
These files, in turn, #include the indicated files.
Main.rc contains the required TEXTINCLUDE directives such that the following
lines get generated when Main.rc is edited:
#include MyResourceIDs.h
#include Strings.rc
#include OtherStuff.rc
All well and good. Except that if I modify OtherStuff.h or Strings.h, on
which Main.rc is indirectly dependent (via OtherStuff.rc), Main.rc does *not*
get recompiled. This has caused me to waste enourmous quantities of time
tracking down apparent bugs which were, in fact, due simply to the resource
table not getting regenerated at compile time.
Is the Resource Compiler dependency generation broken? If I explicitly
include all the files upon which Main.rc depends in Main.rc (i.e., flatten
the dependency tree and manually specify the #include directives), then
things work. I would have expected the dependency scanner to be able to
handle more than one level of #include. Am I doing something wrong?