.d files

We were building static libraries for Android using Visual Studio 2008 and I am trying to update to a later Visual Studio. At the same time I have updated to the latest Android NDK.

I have started seeing warnings such as the following:
File \COMMON<File name>.CPP is missing it’s .d file: \Temp2010\Android\Debug<File name>.d

Comparing this to our previous build and we used to see both .o and .d files in the temp directory. However, I now only see .o files.

Does anyone know when .d files are generated and why they would now be missing? Perhaps there is a project setting, for example, that I have missed?


I think this might be to do with the compiler option “-MF”. I found this:


-MF file
When used with -M or -MM, specifies a file to write the dependencies to. If no -MF switch is given the preprocessor sends the rules to the same place it would have sent preprocessed output.
When used with the driver options -MD or -MMD, -MF overrides the default dependency output file.

I still don’t see any .d files in the temp directory but the warnings have disappear when I remove this option.

Hi, Nsight Tegra uses -MD internally to track the dependencies and allow incremental building. .d files are deleted after they are processed, so probably that’s why you cannot find them in the output.