Xcode 3.1.1 build dependency analysis ignoring distant includes
Xcode 3.1.1 build dependency analysis ignoring distant includes
- Subject: Xcode 3.1.1 build dependency analysis ignoring distant includes
- From: John Gee <email@hidden>
- Date: Wed, 24 Sep 2008 13:49:43 +1200
I am using Xcode 3.1.1. I have some projects where a clean is
sometimes needed to force a build, and think the problem is that the
dependency analysis is ignoring distant included files. Editing files
several steps removed from the files listed in the project does not
trigger a recompile. I have reproduced this in a new test project
using the Carbon C++ Application template.
Are there any known dependency problems and/or work-arounds? I
searched the list and saw that there were some known problems with
older versions of Xcode and using "../" in include paths, but did not
see any current issues. I found that adding all of the headers to the
project did mean changes caused a recompile, but this is not a
feasible work-around for every project I have. Adding the subfolder to
the include paths is a better work-around which fixes the dependency
analysis, although it increases the risk of file name clashes.
MainFolder
project
main.cp: #include "a.h"
OtherFolder
a.h: #include "SubFolder/b.h"
SubFolder
b.h: #include "c.h"
c.h: #include "d.h"
d.h: #include "e.h"
e.h: #include "f.h"
f.h: #include "g.h"
g.h: #include "h.h"
h.h
The project specifies "../OtherFolder" as a user include folder (and
not recursive).
None of the files from OtherFolder are explicitly in the project.
I am doing a Build from inside Xcode.
Touching a.h causes a recompile.
Touching b.h causes a recompile.
Touching c.h does not cause a recompile. (And the items further in the
chain are also ignored.)
(I tried using "gcc -MM" on the command line, and it does list the
full chain of files.)
--
John Gee, ADInstruments
Programmers live in interesting times...
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden