
on Thu Sep 15 2011, Ivan Le Lann
----- "Ytsen de Boer"
a écrit: Thank you for your answer. I believe we are not on the same page. Obviously, when I define the max arity to a value of 7 or more, the preprocessor will finish properly.
But the point I am trying to make is more subtle, namely, that the generation of the project dependencies has not a thing to do with the boost max arity.
I think it does actually. How could gcc track inclusions without preprocessing ?
#ifdef USE_LIB_A # include "a.h" #else # include "b.h" #endif
It seems very dangerous to me to use "-MMD" with different preprocessor definitions than at real compile time. But I'm not an expert.
Maybe not, but you've hit the nail on the head.
I don't know what the boost max arity means or what its for, but it seems to me that it is a run time variable.
It couldn't possibly be a runtime variable. It's a preprocessor macro, and runtime variables can't affect preprocessing. -- Dave Abrahams BoostPro Computing http://www.boostpro.com